--- DarthVader/TrackerLevel2/inc/TrkLevel2.h 2008/11/25 14:41:35 1.38 +++ DarthVader/TrackerLevel2/inc/TrkLevel2.h 2008/12/05 11:33:30 1.40 @@ -154,6 +154,7 @@ float BdL(){return 0;}; ///< Evaluates the integral of B*dL along the track. Int_t GetNX(){Int_t n=0; for(Int_t i=0; i<6; i++)n+=(Int_t)XGood(i); return n;}; Int_t GetNY(){Int_t n=0; for(Int_t i=0; i<6; i++)n+=(Int_t)YGood(i); return n;}; + Int_t GetNXY(){Int_t n=0; for(Int_t i=0; i<6; i++)n+=(Int_t)YGood(i)*XGood(i); return n;}; Int_t GetNtot(){return GetNX()+GetNY();}; Float_t GetRigidity(); Float_t GetDeflection(); @@ -164,6 +165,7 @@ Float_t GetDEDX(); Float_t GetDEDX(int ip); Float_t GetDEDX(int ip,int iv); + Int_t GetLeverArmXY(); Int_t GetLeverArmX(); Int_t GetLeverArmY(); Float_t GetChi2X(); @@ -202,7 +204,7 @@ Int_t GetSensor(int ip); Bool_t XGood(int ip){ return GetClusterX_ID(ip)!=-1; }; Bool_t YGood(int ip){ return GetClusterY_ID(ip)!=-1; }; - void ResetXGoo(int ip){ xgood[ip]=0; }; + void ResetXGood(int ip){ xgood[ip]=0; }; void ResetYGood(int ip){ ygood[ip]=0; }; /* void SetXGood(int ip, int clid, int is); */ /* void SetYGood(int ip, int clid, int is); */ @@ -316,40 +318,44 @@ * notation: * * LSB --> 0 missing packet - * * 1 CRC error - * * 2 on-line software alarm (latch-up, timeout ecc...) - * * 3 jump in the trigger counter - * * 4 decode error - * * 5 n.clusters > maximum number (level1 processing) - * * 6 - * * 7 - * * 8 n.clusters > maximum value (level2 processing) - * * 9 n.couples per plane > maximum values (vector dimention) - * * 10 n.doublets > maximum values - * * 11 n.triplets > maximum values - * * 12 n.yz-clouds > maximum values - * * 13 n.xz-clouds > maximum values - * * 14 n.candidate-tracks > maximum values - * * 15 n.couples per plane > maximum values (for Hough transform) - * * MSB --> 16 * * + * For all data processed before June 2007 the event status was coded according to + * a different rule: + * + * Status of level1 processing + * 0 -- OK + * 1 -- missing packet + * 2 -- 1 CRC error + * 3 -- 2 on-line software alarm (latch-up flags asserted or n.transmitted-words = 0) + * 4 -- 3 jump in the trigger counter + * 10 -- 4 decode error + * 11 -- 5 n.clusters > maximum number (for level1 processing) + * Status of level2 processing + * 21 -- 0 n.clusters > maximum value (for level2 processing) + * 22 -- 1 n.couples per plane > maximum values (vector dimention) + * 23 -- 2 n.doublets > maximum values + * 24 -- 3 n.triplets > maximum values + * 25 -- 4 n.yz-clouds > maximum values + * 26 -- 5 n.xz-clouds > maximum values + * 27 -- 6 n.candidate-tracks > maximum values + * 28 -- 7 n.couples per plane > maximum values (for Hough transform) * * */ @@ -375,7 +381,7 @@ void Clear(Option_t *option){Clear();}; void Delete(); void Set(); - int UnpackError(){ for(int i=0; i<12; i++)if(StatusCheck(i,0x12))return 1; return 0;}; + int UnpackError(){ for(int i=0; i<12; i++)if(!StatusCheck(i,0x12))return 1; return 0;}; int ntrk() {return Track->GetEntries();} ///< number of stored track int nclsx(){return SingletX->GetEntries();} ///< number of x singlets