--- DarthVader/TrackerLevel2/inc/TrkLevel2.h 2008/01/22 08:55:06 1.34 +++ DarthVader/TrackerLevel2/inc/TrkLevel2.h 2014/06/04 07:57:02 1.46 @@ -15,14 +15,14 @@ #include // z-coordinate of track state-vector reference-plane -#define ZINI 23.5 +#define ZINI 23.5 ///< z-coordinate of track state-vector reference-plane. // (mechanical) z-coordinate of the tracker planes -#define ZTRK6 -22.22 -#define ZTRK5 -13.31 -#define ZTRK4 -4.41 -#define ZTRK3 4.49 -#define ZTRK2 13.39 -#define ZTRK1 22.29 +#define ZTRK6 -22.23 //-22.22 //Aprile 2014... trovata differenza con mech_pos.dat +#define ZTRK5 -13.32 //-13.31 // ...speriamo bene... no comment +#define ZTRK4 -4.42//-4.41 +#define ZTRK3 4.48//4.49 +#define ZTRK2 13.38//13.39 +#define ZTRK1 22.28//22.29 // magnet cavity dimensions #define ZMAGNHIGH 21.83 #define ZMAGNLOW -21.83 @@ -30,6 +30,14 @@ #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 */ @@ -49,25 +57,30 @@ 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); Trajectory(int n, float* pz); - ~Trajectory(){Delete();}; + ~Trajectory(){Delete();} void Dump(); void Delete(); - int DoTrack2(float* al); - 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) + * 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 @@ -346,12 +397,13 @@ TrkLevel2(); // TrkLevel2(cTrkLevel2 *); - ~TrkLevel2(){Delete();}; + ~TrkLevel2(){Delete();} void Clear(); - void Clear(Option_t *option){Clear();}; + 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 @@ -359,19 +411,19 @@ void Dump(); void SetFromLevel2Struct(cTrkLevel2 *, TrkLevel1 *); - void SetFromLevel2Struct(cTrkLevel2 *s2){ SetFromLevel2Struct(s2, NULL); }; - void SetFromLevel2Struct(TrkLevel1 *l1) { SetFromLevel2Struct(&level2event_, l1); }; - void SetFromLevel2Struct() { SetFromLevel2Struct(&level2event_); }; + void SetFromLevel2Struct(cTrkLevel2 *s2){ SetFromLevel2Struct(s2, NULL); } + void SetFromLevel2Struct(TrkLevel1 *l1) { SetFromLevel2Struct(&level2event_, l1); } + void SetFromLevel2Struct() { SetFromLevel2Struct(&level2event_); } void GetLevel2Struct(cTrkLevel2 *) const; void LoadField(TString); - float GetBX(float* v){return TrkParams::GetBX(v);};///< Bx (kGauss) - float GetBY(float* v){return TrkParams::GetBY(v);};///< By (kGauss) - float GetBZ(float* v){return TrkParams::GetBZ(v);};///< Bz (kGauss) + float GetBX(float* v){return TrkParams::GetBX(v);} ///< Bx (kGauss) + 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 XMAGNLOW;}; - Float_t GetXTrkRight(){return XMAGNHIGH;}; - Float_t GetYTrkLeft(){return YMAGNLOW;}; - Float_t GetYTrkRight(){return YMAGNHIGH;}; + 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); @@ -381,18 +433,18 @@ TrkSinglet *GetSingletY(int); TrkTrack *GetStoredTrack(int i); - Int_t GetSeqNo(Int_t i) {return (((TrkTrack *)Track->At(i))->seqno);}; ///< Returns track sequential number + Int_t GetSeqNo(Int_t i) {return (((TrkTrack *)Track->At(i))->seqno);} ///< Returns track sequential number TRefArray *GetTracks_NFitSorted(); - TRefArray *GetTracks(){return this->GetTracks_NFitSorted();}; + TRefArray *GetTracks(){return this->GetTracks_NFitSorted();} Int_t GetNTracks(); TrkTrack* GetTrack(int i); TrkTrack* GetTrackImage(int i); - TrkLevel2* GetTrkLevel2(){return this;} - TClonesArray* GetTrackArray(){return Track;};///< returns pointer to the track array - + TrkLevel2* GetTrkLevel2(){return this;} + TClonesArray* GetTrackArray(){return Track;}///< returns pointer to the track array + TClonesArray** GetPointerToTrackArray(){return &Track;}///< returns pointer to pointer to the track array void StatusDump(int view); Bool_t StatusCheck(int view, int flagmask);