1 #ifndef ALIPHOSTrigger_H
2 #define ALIPHOSTrigger_H
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
12 //*-- Author: Gustavo Conesa & Yves Schutz (IFIC, SUBATECH, CERN)
14 // --- ROOT system ---
16 #include "TClonesArray.h"
19 class AliPHOSGeometry ;
21 // --- AliRoot header files ---
23 class AliPHOSTrigger : public TObject {
26 AliPHOSTrigger() ; // ctor
27 AliPHOSTrigger(const AliPHOSTrigger & trig) ; // cpy ctor
28 virtual ~AliPHOSTrigger() {}; //virtual dtor
30 void MakeTrigger() ; //Make PHOS trigger
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 ;}
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 ; }
42 void Print(const Option_t * opt ="") const ;
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; }
50 TClonesArray * FillTRU(const TClonesArray * digits) ;
51 void MakeSlidingCell(const TClonesArray * trus, const Int_t mod,
53 void SetTriggers(const Float_t * ampmax) ;
56 void SetL0() { fL0 = kTRUE ; }
57 void SetL1Low() { fL1Low = kTRUE ; }
58 void SetL1Medium() { fL1Medium = kTRUE ; }
59 void SetL1High() { fL1High = kTRUE ; }
64 Bool_t fL0 ; //! Minimum Bias Trigger
65 Bool_t fL1Low ; //! High pT triggers
66 Bool_t fL1Medium ; //!
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 ; //!
74 ClassDef(AliPHOSTrigger,0)
78 #endif //ALIPHOSTrigger_H