running local for SP and LYZEP and new histograms for QC
[u/mrichter/AliRoot.git] / TRD / AliTRDtrigParam.h
1 #ifndef ALITRDTRIGPARAM_H
2 #define ALITRDTRIGPARAM_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 ///////////////////////////////////////////////////////////////////////////////
7 //                                                                           //
8 //  TRD trigger parameters class                                             //
9 //                                                                           //
10 ///////////////////////////////////////////////////////////////////////////////
11
12 #include "TObject.h"
13
14 class AliTRDtrigParam : public TObject {
15
16  public:
17
18   AliTRDtrigParam(const AliTRDtrigParam &p);   
19   virtual         ~AliTRDtrigParam();
20   AliTRDtrigParam &operator=(const AliTRDtrigParam &p); 
21
22   static AliTRDtrigParam *Instance();
23   static  void     Terminate();
24
25   virtual void     Copy(TObject &p) const;
26
27           void     Init();
28
29           Int_t    GetTime1() const                        { return fTime1;         };
30           Int_t    GetTime2() const                        { return fTime2;         };
31           Float_t  GetClusThr() const                      { return fClusThr;       };
32           Float_t  GetPadThr() const                       { return fPadThr;        };
33           Int_t    GetSum10() const                        { return fSum10;         };
34           Int_t    GetSum12() const                        { return fSum12;         };
35           Int_t    GetTailCancelation() const              { return fTCOn;          };
36           Int_t    GetNexponential() const                 { return fTCnexp;        };
37           Int_t    GetFilterType() const                   { return fFilterType;    };
38           void     GetFilterParam(Float_t &r1, Float_t &r2, Float_t &c1, Float_t &c2, Float_t &ped) const 
39                                                            { r1            = fR1; 
40                                                              r2            = fR2; 
41                                                              c1            = fC1; 
42                                                              c2            = fC2; 
43                                                              ped           = fPedestal; };
44           Float_t  GetADCnoise() const                     { return fADCnoise;      };
45           Float_t  GetDeltaY() const                       { return fDeltaY;        };
46           Float_t  GetDeltaS() const                       { return fDeltaS;        }; 
47           Float_t  GetXprojPlane() const                   { return fXprojPlane;    };
48           Float_t  GetLtuPtCut() const                     { return fLtuPtCut;      };
49           Float_t  GetGtuPtCut() const                     { return fGtuPtCut;      };
50           Float_t  GetHighPt() const                       { return fHighPt;        };
51           Int_t    GetNPartJetLow() const                  { return fNPartJetLow;   };
52           Int_t    GetNPartJetHigh() const                 { return fNPartJetHigh;  };
53           Float_t  GetJetLowPt() const                     { return fJetLowPt;      };
54           Float_t  GetJetHighPt() const                    { return fJetHighPt;     };
55
56           void     SetTimeRange(Int_t time1, Int_t time2)  { fTime1        = time1; 
57                                                              fTime2        = time2; };
58           void     SetClusThr(Float_t clth)                { fClusThr      = clth;  };
59           void     SetPadThr(Float_t path)                 { fPadThr       = path;  };
60           void     SetSum10(Int_t sum)                     { fSum10        = sum;   };
61           void     SetSum12(Int_t sum)                     { fSum12        = sum;   }; 
62           void     SetTailCancelation(Int_t tcOn = 0)      { fTCOn         = tcOn;  };
63           void     SetNexponential(Int_t nexp = 1)         { fTCnexp       = nexp;  };
64           void     SetFilterType(Int_t ftype = 0)          { fFilterType   = ftype; };
65           void     SetFilterParam(Float_t r1, Float_t r2, Float_t c1, Float_t c2, Float_t ped) 
66                                                            { fR1           = r1; 
67                                                              fR2           = r2; 
68                                                              fC1           = c1; 
69                                                              fC2           = c2; 
70                                                              fPedestal     = ped;   };
71           void     SetADCnoise(Float_t adcn)               { fADCnoise     = adcn;  };
72           void     SetDeltaY(Float_t dy)                   { fDeltaY       = dy;    };
73           void     SetDeltaS(Float_t ds)                   { fDeltaS       = ds;    };
74           void     SetLtuPtCut(Float_t ptcut)              { fLtuPtCut     = ptcut; };
75           void     SetGtuPtCut(Float_t ptcut)              { fGtuPtCut     = ptcut; };
76           void     SetHighPt(Float_t hpt)                  { fHighPt       = hpt;   };
77           void     SetNPartJetLow(Int_t npj)               { fNPartJetLow  = npj;   };
78           void     SetNPartJetHigh(Int_t npj)              { fNPartJetHigh = npj;   };
79           void     SetJetLowPt(Float_t thr)                { fJetLowPt     = thr;   };
80           void     SetJetHighPt(Float_t thr)               { fJetHighPt    = thr;   };
81
82  protected:
83
84   static  AliTRDtrigParam *fgInstance;             // Instance of this class (singleton implementation)
85   static  Bool_t           fgTerminated;           // Defines if this class has already been terminated
86
87           Int_t    fTime1;                         // First time bin for tracking (incl.)
88           Int_t    fTime2;                         // Last  time bin for tracking (incl.)
89           Float_t  fClusThr;                       // Cluster threshold
90           Float_t  fPadThr;                        // Pad threshold
91           Int_t    fSum10;                         // MCM CreateSeeds: Min_Thr_Left_Neighbour
92           Int_t    fSum12;                         // MCM CreateSeeds: Min_Sum_From_Two_Neighbours
93           Int_t    fTCOn;                          // Tail cancelation flag
94           Int_t    fTCnexp;                        // Number of exp in filter
95           Int_t    fFilterType;                    // Filter type (0=A - analog, 1=D - digital)
96
97           // Filter parameters (1 = long, 2 = short component)
98           Float_t  fR1;                            // Time constant [microseconds]
99           Float_t  fR2;                            // Time constant [microseconds]
100           Float_t  fC1;                            // Weight
101           Float_t  fC2;                            // Weight
102           Float_t  fPedestal;                      // ADC baseline
103           Float_t  fADCnoise;                      // ADC noise (not contained in the digitizer)
104
105           Float_t  fDeltaY;                        // Y (offset) matching window in the GTU
106           Float_t  fDeltaS;                        // Slope matching window in the GTU
107
108           Float_t  fXprojPlane;                    // Projection plane (X) for GTU matching
109
110           Float_t  fLtuPtCut;                      // Local pt cut
111           Float_t  fGtuPtCut;                      // Global pt cut
112
113           Float_t  fHighPt;                        // High pt selection
114
115           Int_t    fNPartJetLow;                   // Number of tracks for jet (low)
116           Int_t    fNPartJetHigh;                  // Number of tracks for jet (high)
117           Float_t  fJetLowPt;                      // Low pt threshold for jet particles
118           Float_t  fJetHighPt;                     // High pt threshold for jet particles
119
120  private:
121
122   // This is a singleton, constructor is private!
123   AliTRDtrigParam();
124
125   ClassDef(AliTRDtrigParam,3)                      // TRD trigger parameter class
126
127 };
128
129 #endif