// ESAF : Euso Simulation and Analysis Framework // $Id: ChipTrackingTrgEngine0.hh,v 1.2 2005/04/22 07:35:05 pesce Exp $ // R. Pesce created // tracking built in front end chip logic + macrocell logic // ALGORYTHM: // each chip is capable of finding a track segment of consequtive and adjacent // pixels // if the length of a given segment exceeds a threshold, trigger occurs // if not, the macrocell checks if there are 2 segments in nearby front end // chips that summed together exceed the threshold. if this happens, trigger // occurs // // // Special class for studying background fake rate trigger #ifndef __CHIPTRACKINGTRGENGINE0_HH_ #define __CHIPTRACKINGTRGENGINE0_HH_ #include "euso.hh" #include "TriggerEngine.hh" #include "ChipTrackSegment.hh" class ChipTrackingTrgEngine0 : public TriggerEngine { public: enum ECTTypes { k4 = BIT(0), k5 = BIT(1), k6 = BIT(2), k7 = BIT(3), k8 = BIT(4), k33 = BIT(5), k42 = BIT(6), k43 = BIT(7), k52 = BIT(8), k44 = BIT(9), k53 = BIT(10) }; // ctor ChipTrackingTrgEngine0(); // dtor virtual ~ChipTrackingTrgEngine0(); // simulate trigger virtual void Simulate( MacroCellData* ); EsafConfigClass(Electronics,ChipTrackingTrgEngine0); private: ClassDef(ChipTrackingTrgEngine0,0) // trigger parameters Int_t fThreshold; //threshold on pixel hits in a gtu Int_t fMinTrackLength; //algorithm searches for tracks of length between fMinTrackLength and fMaxTriggerTrackLength Int_t fMaxTrackLength; Int_t fMinTriggerTrackLength; //min trigger track length in a single chip Int_t fMinTriggerTwoLength; //min trigger track length in two nearby chips Bool_t fAcceptHole; //true if we accept an hole in a track in a single chip Bool_t fOnlyWithSignal; //if true processes only chip with signal // clear maps void Clear(); // fill root event void FillEEvent( Int_t ); // dump the number of tracks for each chip void Dump( Int_t ); map > fTrackSegments; //map for storing data //map fTrigLengthCounter; Int_t nTracks4; Int_t nTracks5; Int_t nTracks6; Int_t nTracks7; Int_t nTracks8; Int_t nTracks33; Int_t nTracks42; Int_t nTracks43; Int_t nTracks52; Int_t nTracks44; Int_t nTracks53; }; #endif /* __CHIPTRACKINGTRGENGINE_HH0_ */