]> git.uio.no Git - u/mrichter/AliRoot.git/blob - FASTSIM/AliFastMuonTriggerEff.h
Coding rule violations corrected
[u/mrichter/AliRoot.git] / FASTSIM / AliFastMuonTriggerEff.h
1 #ifndef ALIFASTMUONTRIGGEREFF_H
2 #define ALIFASTMUONTRIGGEREFF_H
3 /*  Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 /* $Id$ */
7
8 #include <AliFastResponse.h>
9 #include <TString.h>
10
11 class TH3F;
12 class TAxis;
13
14 // Debugging flag
15 //#define MYTRIGDEBUG
16
17 enum CutTupe {kLow, kHigh, kAny};
18
19 class AliFastMuonTriggerEff : public AliFastResponse {
20     
21  public:
22     AliFastMuonTriggerEff();
23     AliFastMuonTriggerEff(const char* /*Name*/, const char* /*Title*/) {;}
24     virtual ~AliFastMuonTriggerEff(){;}
25     virtual void    Init();
26     virtual void    Evaluate(Float_t charge, Float_t pt, Float_t theta, Float_t phi,
27                              Float_t& effLow, Float_t& effHigh, Float_t& effAny);
28     virtual void    Evaluate(Float_t charge, Float_t pt, Float_t theta, Float_t phi,
29                              Float_t& effLow, Float_t& effHigh);
30     virtual Float_t Evaluate(Float_t charge, Float_t pt, Float_t theta, Float_t phi);
31     virtual void    SetCut(Int_t cut = kLow);
32     virtual Float_t Cut() {return fCut;}
33     virtual Int_t   SetBkgLevel(Float_t Bkg=0.);
34     virtual Int_t   ForceBkgLevel(Float_t Bkg=0.);
35     virtual Float_t GetBkgLevel() {return fBkg;}
36     Int_t LoadTables(Char_t *namet);  // Load trigger response tables
37     void SetInt() {fInt=1;}
38     void UnsetInt() {fInt=0;}
39     Int_t GetInt() {return fInt;}
40   protected:
41     Double_t fPtMin;               // Minimun pt
42     Double_t fPtMax;               // Maximum pt
43     Double_t fDpt;                 // Delta_pt
44     Int_t    fnptb;                // Number of bins
45     Double_t fPhiMin;              // Lower limit for phi 
46     Double_t fPhiMax;              // Upper limit for phi
47     Double_t fDphi;                // Delta_phi
48     Int_t    fnphib;               // Number of bins   
49     Double_t fThetaMin;            // lower limit for theta
50     Double_t fThetaMax;            // upper limit for theta
51     Double_t fDtheta;              // Delta_theta
52     Int_t    fnthetab;             // Number of bins 
53     Int_t   fCut;                  // Cut type (low/high)
54     Int_t   fZones;                // Total number of zones
55     TH3F*   fhEffAPt;              // Trig. prob. for Any Pt
56     TH3F*   fhEffLPt;              // Trig. prob. for Low Pt
57     TH3F*   fhEffHPt;              // Trig. prob. for High Pt
58     TAxis*  fhLX;                  // x-axis 
59     TAxis*  fhLY;                  // y-axis
60     TAxis*  fhLZ;                  // z-axis
61     Float_t fBkg;                  // Background level
62     TString fTableTitle;           // Title of the LUT
63     TString fDescription;          // Description of the table content
64     Int_t fInt;                    // Interpolation flag (1 to interpolate)
65   private:
66     Int_t fibx;                    // index x 
67     Int_t fiby;                    // index y
68     Int_t fibz;                    // index z
69     ClassDef(AliFastMuonTriggerEff,1)    // Fast Muon Trigger response
70 };
71
72 #endif 
73
74
75