--- DarthVader/TrackerLevel2/inc/TrkLevel2.h 2007/05/24 16:45:47 1.28 +++ DarthVader/TrackerLevel2/inc/TrkLevel2.h 2008/11/25 14:41:35 1.38 @@ -30,11 +30,19 @@ #define XMAGNLOW -8.07 #define YMAGNHIGH 6.57 #define YMAGNLOW -6.57 +// tof planes +#define ZS11 53.74 +#define ZS12 53.04 +#define ZS21 23.94 +#define ZS22 23.44 +#define ZS31 -23.49 +#define ZS32 -24.34 + // (mechanical) x/y-coordinates of magnet cavity -#define XTRKL -8.1 -#define XTRKR 8.1 -#define YTRKL -6.6 -#define YTRKR 6.6 +/* #define XTRKL -8.1 */ +/* #define XTRKR 8.1 */ +/* #define YTRKL -6.6 */ +/* #define YTRKR 6.6 */ /** * \brief Class to describe, by points, a particle trajectory in the apparatus. @@ -49,12 +57,12 @@ public: int npoint; ///< number of evaluated points along the trajectory - float* x; ///< x coordinates - float* y; ///< y coordinates - float* z; ///< z coordinates - float* thx; ///< x projected angle - float* thy; ///< y projected angle - float* tl; ///< track length + float* x; //[npoint] + float* y; //[npoint] + float* z; //[npoint] + float* thx; //[npoint] + float* thy; //[npoint] + float* tl; //[npoint] Trajectory(); Trajectory(int n); @@ -67,7 +75,7 @@ float GetLength(){float l=0; for(int i=0; i 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) - * |||| ||||_____________________ 16 - * + * 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) * - * For all data processed before June 2007 the event status was coded according to - * a different rule: + * 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 + * * - * 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) * * */ @@ -304,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 @@ -320,10 +392,10 @@ float GetBY(float* v){return TrkParams::GetBY(v);};///< By (kGauss) float GetBZ(float* v){return TrkParams::GetBZ(v);};///< Bz (kGauss) Float_t GetZTrk(Int_t); - Float_t GetXTrkLeft(){return XTRKL;}; - Float_t GetXTrkRight(){return XTRKR;}; - Float_t GetYTrkLeft(){return YTRKL;}; - Float_t GetYTrkRight(){return YTRKR;}; + Float_t GetXTrkLeft(){return XMAGNLOW;}; + Float_t GetXTrkRight(){return XMAGNHIGH;}; + Float_t GetYTrkLeft(){return YMAGNLOW;}; + Float_t GetYTrkRight(){return YMAGNHIGH;}; Bool_t IsMaskedVK(int,int); Bool_t GetVKMask(int,int);