ChipTrackingTrgEngine1
#include "ChipTrackingTrgEngine1.hh" |
ChipTrackingTrgEngine1
class description - source file - inheritance tree (.pdf)
class ChipTrackingTrgEngine1 : public TriggerEngine
Inheritance Chart: | |||||||||||||||||||||||||
|
protected:
ChipTrackingTrgEngine1(string, ETriggerTypeIdentifier) virtual void Clear() virtual void Dump(Int_t) virtual void FillEEvent(Int_t) void FillRunPars() public:
ChipTrackingTrgEngine1() virtual ~ChipTrackingTrgEngine1() static TClass* Class() virtual const char* ClassName() const virtual const char* ClassType() const virtual TClass* IsA() const virtual void ShowMembers(TMemberInspector& insp, char* parent) virtual void Simulate(MacroCellData*) virtual void Streamer(TBuffer& b) void StreamerNVirtual(TBuffer& b)
Data Members
protected:
Bool_t fRelativeThreshold true if the threshold is relative to the mean value Int_t fThreshold threshold on pixel hits in a gtu or value of n for relative thresholds Int_t fMinTrackLength algorithm searches for tracks of length between Int_t fMaxTrackLength fMinTrackLength and fMaxTriggerTrackLength Int_t fMinTriggerTrackLength min trigger track length in a single chip Int_t fMinTriggerTwoLength min trigger track length in two nearby chips Int_t fMaxTwoLength max length for trigger 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 Int_t fPatternCounter map<Int_t,vector<ChipTrackSegment> > fTrackSegments map for storing data
Class Description
Chip Tracking Trigger Engine 1 ============================== Tracking trigger built in front end chip. The algorithm searches for sequences of pixels (over the threshold) consequtive and adjacent. If the track length is over a threshold, trigger occurs. The algorithm searches also between track segments of two nearby chips: if two track segments are consequtive in time and the total length is over a threshold (different from the previous one), trigger occurs Parameters: fThresholdType: specify if the threshold on pixel hits in a gtu is absolute or relative Valid options: - absolute: the value specified in fThreshold is the minimum number of hits in a gtu to consider - relative: trigger threshold depends by the mean value of the background hits (B) in each pixel: threshold = (B) + fThreshold*sqrt(B) fThreshold: threshold on pixel hits in a gtu; if fThresholdType=relative the true threshold used by trigger algorithm depends by the mean hits of background in each pixel (see above) fMinTrackLenght: min length of the valid tracks fMaxTrackLength: max length of the valid tracks fMinTriggerTrackLength: min track length to have a trigger (single chip) fMinTriggerTwoLength: min total track length in 2 nearby chips fMaxTwoLength: max track length allowed in 2 nearby chips fAcceptHole [bool] : an hole in a single track segment is or not accepted fOnlyWithSignal [bool] : processes or not only chips ith at least a signal Special multiple configuration: The alorithm counts the numebr of tracks of the various trigger lengths, fill a specific trigger word and dump the numbers of the recognized tracks
ChipTrackingTrgEngine1() : TriggerEngine(string("ChipTrackingTrgEngine1"), kChipTrackingTrigger1 )
Constructor
~ChipTrackingTrgEngine1()
Destructor
ChipTrackingTrgEngine1( string s, ETriggerTypeIdentifier id ) : TriggerEngine(s, id)
Special constructor for child classes
void Clear()
Clear data containers
void Simulate( MacroCellData* pData)
Simulate chip tracking algorythm
void FillEEvent( Int_t cell_id )
Fill root event
void FillRunPars()
Fill run parameters
void Dump( Int_t cell_id )
Dump the number of tracks (triggered and total) for each chip
Inline Functions
const char* ClassType() const const char* ClassName() const TClass* Class() TClass* IsA() const void ShowMembers(TMemberInspector& insp, char* parent) void Streamer(TBuffer& b) void StreamerNVirtual(TBuffer& b)