--- DarthVader/TrackerLevel2/inc/TrkLevel2.h 2007/05/24 14:32:14 1.27 +++ DarthVader/TrackerLevel2/inc/TrkLevel2.h 2007/05/24 16:45:47 1.28 @@ -144,8 +144,8 @@ Bool_t IsSaturated(); Bool_t IsBad(int,int); Float_t GetDEDX(); - Float_t GetDEDX(int); - Float_t GetDEDX(int,int); + Float_t GetDEDX(int ip); + Float_t GetDEDX(int ip,int iv); Int_t GetLeverArmX(); Int_t GetLeverArmY(); @@ -163,7 +163,7 @@ void SetStepMin(int istepmin); Bool_t IsInsideCavity(); - void EvaluateClusterPositions(); + Bool_t EvaluateClusterPositions(); void FillMiniStruct(cMini2track&); void SetFromMiniStruct(cMini2track*); @@ -235,6 +235,52 @@ * Each track may have an "image", due to the ambiguity on the Y view, which is stored also. * Thus, the number of stored tracks ( ntrk() ) differs from the number of "physical" tracks ( GetNTracks() ). * Proper methods allow to sort tracks and select the physical ones ( GetTracks() ). + * + * The event status indicates the processing status of data from each DSP, according to the following + * notation: + * + * xxxx xxxx xxxx xxxx xxxx xxxx + * |||| |||| |||| |||| |||| ||||_ 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) + * |||| ||||_____________________ 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) + * + * */ class TrkLevel2 : public TObject { @@ -299,6 +345,9 @@ TrkLevel2* GetTrkLevel2(){return this;} TClonesArray* GetTrackArray(){return Track;};///< returns pointer to the track array + void StatusDump(int view); + Bool_t StatusCheck(int view, int flagmask); + ClassDef(TrkLevel2,3); };