--- DarthVader/TrackerLevel2/inc/TrkLevel2.h 2008/03/05 17:00:18 1.35 +++ DarthVader/TrackerLevel2/inc/TrkLevel2.h 2008/11/25 14:41:35 1.38 @@ -202,10 +202,15 @@ 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 ResetXGood(int ip){ xgood[ip]=0; }; + void ResetXGoo(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); +/* void SetXGood(int ip, int clid, int is); */ +/* void SetYGood(int ip, int clid, int is); */ + void SetXGood(int ip, int clid, int il, int is, bool bad); + void SetYGood(int ip, int clid, int il, int is, bool bad); + void SetXGood(int ip, int clid, int il, int is){ SetXGood(ip,clid,il,is,false); }; + void SetYGood(int ip, int clid, int il, int is){ SetYGood(ip,clid,il,is,false); }; + Bool_t BadClusterX(int ip){ return IsBad(ip,0); }; Bool_t BadClusterY(int ip){ return IsBad(ip,1); }; @@ -219,7 +224,7 @@ Int_t GetClusterY_MaxStrip(int ip){ return (Int_t)(multmaxy[ip]%10000); }; Float_t GetClusterX_Seed(int ip){ return seedx[ip]; }; Float_t GetClusterY_Seed(int ip){ return seedy[ip]; }; -/* Float_t GetClusterX_CoordinatePU(int ip); */ +/* Float_t GetClusterX_oordinatePU(int ip); */ /* Float_t GetClusterY_CoordinatePU(int ip); */ Float_t GetYav(); @@ -238,6 +243,9 @@ Float_t GetResidual_max(int ip, int iv); Float_t GetResidual_max(int iv){ return GetResidual_max(-1,iv); }; Float_t GetResidual_max(){ return GetResidual_max(-1,-1); }; + Float_t GetResidual_av(int ip, int iv); + Float_t GetResidual_av(int iv){ return GetResidual_av(-1,iv); }; + Float_t GetResidual_av(){ return GetResidual_av(-1,-1); }; Int_t GetClusterX_Multiplicity_max(); Int_t GetClusterX_Multiplicity_min(); @@ -308,44 +316,40 @@ * 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) * * */ @@ -371,6 +375,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 ntrk() {return Track->GetEntries();} ///< number of stored track int nclsx(){return SingletX->GetEntries();} ///< number of x singlets