]>
Commit | Line | Data |
---|---|---|
25354ff4 | 1 | #ifndef ALIPHOSTrigger_H |
2 | #define ALIPHOSTrigger_H | |
3 | ||
4 | //____________________________________________________________ | |
5 | // Class for trigger analysis. | |
6 | // Digits are grouped in TRU's (16x28 crystals). The algorithm searches | |
7 | // all possible 4x4 crystal combinations and per each TRU, adding the | |
8 | // digits amplitude and finding the maximum. Maximums are compared to | |
9 | // triggers threshold and they are set. | |
10 | // FIRST ATTEMPT TO MAKE A TRIGGER CLASS. IT WILL CHANGE WHEN CENTRAL TRIGGER CLASS FIXES | |
11 | // THINGS | |
12 | //*-- Author: Gustavo Conesa & Yves Schutz (IFIC, SUBATECH, CERN) | |
13 | ||
14 | // --- ROOT system --- | |
15 | #include "TTask.h" | |
16 | #include "TClonesArray.h" | |
17 | #include "TMatrixD.h" | |
18 | ||
19 | class AliPHOSGeometry ; | |
20 | ||
21 | // --- AliRoot header files --- | |
22 | ||
23 | class AliPHOSTrigger : public TObject { | |
24 | ||
25 | public: | |
26 | AliPHOSTrigger() ; // ctor | |
27 | AliPHOSTrigger(const AliPHOSTrigger & trig) ; // cpy ctor | |
28 | virtual ~AliPHOSTrigger() {}; //virtual dtor | |
29 | ||
30 | void MakeTrigger() ; //Make PHOS trigger | |
31 | ||
32 | const Bool_t IsL0Set() const {return fL0 ;} // Is L0 trigger set? | |
33 | const Bool_t IsL1LowSet() const {return fL1Low ;} // Is L1 trigger set? | |
34 | const Bool_t IsL1MediumSet() const {return fL1Medium ;} | |
35 | const Bool_t IsL1HighSet() const {return fL1High ;} | |
36 | ||
37 | const Int_t GetL0Threshold() const {return fL0Threshold ; } | |
38 | const Int_t GetL1LowThreshold() const {return fL1LowThreshold ; } | |
39 | const Int_t GetL1MediumThreshold() const {return fL1MediumThreshold ; } | |
40 | const Int_t GetL1HighThreshold() const {return fL1HighThreshold ; } | |
41 | ||
42 | void Print(const Option_t * opt ="") const ; | |
43 | ||
44 | void SetL0Threshold(Int_t amp) {fL0Threshold = amp; } | |
45 | void SetL1LowThreshold(Int_t amp) {fL1LowThreshold = amp; } | |
46 | void SetL1MediumThreshold(Int_t amp){fL1MediumThreshold = amp; } | |
47 | void SetL1HighThreshold(Int_t amp) {fL1HighThreshold = amp; } | |
48 | ||
49 | private: | |
50 | TClonesArray * FillTRU(const TClonesArray * digits) ; | |
51 | void MakeSlidingCell(const TClonesArray * trus, const Int_t mod, | |
52 | Float_t *ampmax) ; | |
53 | void SetTriggers(const Float_t * ampmax) ; | |
54 | void InitTriggers() ; | |
55 | ||
56 | void SetL0() { fL0 = kTRUE ; } | |
57 | void SetL1Low() { fL1Low = kTRUE ; } | |
58 | void SetL1Medium() { fL1Medium = kTRUE ; } | |
59 | void SetL1High() { fL1High = kTRUE ; } | |
60 | ||
61 | ||
62 | private: | |
63 | ||
64 | Bool_t fL0 ; //! Minimum Bias Trigger | |
65 | Bool_t fL1Low ; //! High pT triggers | |
66 | Bool_t fL1Medium ; //! | |
67 | Bool_t fL1High ; //! | |
68 | ||
69 | Int_t fL0Threshold ; //! L0 trigger energy threshold | |
70 | Int_t fL1LowThreshold ; //! High pT trigger energy threshold | |
71 | Int_t fL1MediumThreshold ; //! | |
72 | Int_t fL1HighThreshold ; //! | |
73 | ||
74 | ClassDef(AliPHOSTrigger,0) | |
75 | } ; | |
76 | ||
77 | ||
78 | #endif //ALIPHOSTrigger_H |