]> git.uio.no Git - u/mrichter/AliRoot.git/blob - FASTSIM/AliFastMuonTriggerEff.h
Number of pads along z is 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 #include <TObjString.h>
11 #include <TFile.h>
12 #include <TH3.h>
13 #include <TROOT.h>
14 #include <stdlib.h>
15
16 // Debugging flag
17 //#define MYTRIGDEBUG
18
19 enum CutTupe {kLow, kHigh, kAny};
20
21 class AliFastMuonTriggerEff : public AliFastResponse {
22     
23  public:
24     AliFastMuonTriggerEff();
25     AliFastMuonTriggerEff(const char* /*Name*/, const char* /*Title*/) {;}
26     virtual ~AliFastMuonTriggerEff(){;}
27     virtual void    Init();
28     virtual void    Evaluate(Float_t charge, Float_t pt, Float_t theta, Float_t phi,
29                              Float_t& effLow, Float_t& effHigh, Float_t& effAny);
30     virtual void    Evaluate(Float_t charge, Float_t pt, Float_t theta, Float_t phi,
31                              Float_t& effLow, Float_t& effHigh);
32     virtual Float_t Evaluate(Float_t charge, Float_t pt, Float_t theta, Float_t phi);
33     virtual void    SetCut(Int_t cut = kLow);
34     virtual Float_t Cut() {return fCut;}
35     virtual Int_t   SetBkgLevel(Float_t Bkg=0.);
36     virtual Int_t   ForceBkgLevel(Float_t Bkg=0.);
37     virtual Float_t GetBkgLevel() {return fBkg;}
38     Int_t LoadTables(Char_t *namet);  // Load trigger response tables
39     void SetInt() {fInt=1;}
40     void UnsetInt() {fInt=0;}
41     Int_t GetInt() {return fInt;}
42   protected:
43     Double_t fPtMin;
44     Double_t fPtMax;
45     Double_t fDpt;                 // Delta_pt
46     Int_t    fnptb;
47     Double_t fPhiMin;              // lower limit for phi 
48     Double_t fPhiMax;              // upper limit for phi
49     Double_t fDphi;                // Delta_phi
50     Int_t    fnphib;
51     Double_t fThetaMin;            // lower limit for theta
52     Double_t fThetaMax;            // upper limit for theta
53     Double_t fDtheta;              // Delta_theta
54     Int_t    fnthetab;
55     Int_t   fCut;                 // Cut type (low/high)
56     Int_t   fZones;               // Total number of zones
57     TH3F*   fhEffAPt;             // Trig. prob. for Any Pt
58     TH3F*   fhEffLPt;             // Trig. prob. for Low Pt
59     TH3F*   fhEffHPt;             // Trig. prob. for High Pt
60     TAxis*  fhLX;
61     TAxis*  fhLY;
62     TAxis*  fhLZ;
63     Float_t fBkg;                 // Background level
64     TString fTableTitle;          // Title of the LUT
65     TString fDescription;         // Description of the table content
66     Int_t fInt;                   // Interpolation flag (1 to interpolate)
67   private:
68     Int_t fibx;
69     Int_t fiby;
70     Int_t fibz;
71     ClassDef(AliFastMuonTriggerEff,1)    // Fast Muon Trigger response
72 };
73
74 #endif 
75
76
77