]> git.uio.no Git - u/mrichter/AliRoot.git/blob - STEER/AliLHCTagCuts.h
Adding a MC/real data switch in the constructor (Ch.Baumann)
[u/mrichter/AliRoot.git] / STEER / AliLHCTagCuts.h
1 #ifndef ALILHCTAGCUTS_H
2 #define ALILHCTAGCUTS_H
3 /*  See cxx source for full Copyright notice */
4
5
6 /* $Id$ */
7
8 //-------------------------------------------------------------------------
9 //                       Class AliLHCTagCuts
10 //              This is the class for the cuts in run tags
11 //
12 //    Origin: Panos Christakoglou, UOA-CERN, Panos.Christakoglou@cern.ch
13 //-------------------------------------------------------------------------
14
15 #include <TObject.h>
16
17 class AliLHCTag;
18
19 //___________________________________________________________________________
20 class AliLHCTagCuts : public TObject {
21  public:
22   AliLHCTagCuts();
23   ~AliLHCTagCuts();
24   void Reset();
25   
26  //____________________________________________________//
27   void SetLHCState(TString state) {fLHCState = state; fLHCStateFlag = kTRUE;}
28   void SetLHCLuminosityRange(Float_t low, Float_t high) {fLHCLuminosityMin = low; fLHCLuminosityMax = high; fLHCLuminosityFlag = kTRUE;}
29
30   void SetNBunchesRange(UShort_t nbm, UShort_t nbx) { fNBunchesFlag = kTRUE; fNBunchesRange[0] = nbm; fNBunchesRange[1] = nbx; }
31   void SetFillingScheme(TString sch) { fFillingSchemeFlag = kTRUE; fFillingScheme = sch; }
32   void SetFillNoRange(Int_t fmin, Int_t fmax) { fFillNoFlag = kTRUE; fFillNoRange[0] = fmin; fFillNoRange[1] = fmax; }
33   void SetBeamEnergyRange(Float_t bemin, Float_t bemax) { fBeamEnergyFlag = kTRUE; fBeamEnergyRange[0] = bemin; fBeamEnergyRange[1] = bemax; }
34   void SetBunchIntensityRange(Float_t bimin, Float_t bimax) { fBunchIntensityFlag = kTRUE; fBunchIntensityRange[0] = bimin; fBunchIntensityRange[1] = bimax; }
35
36   Bool_t IsAccepted(AliLHCTag *lhcTag) const;
37
38   //____________________________________________________//
39  private:
40   TString fLHCState;              //LHC State
41   Bool_t  fLHCStateFlag;          //Shows whether this cut is used or
42   Float_t fLHCLuminosityMin;      //LHC luminosity - min
43   Float_t fLHCLuminosityMax;      //LHC luminosity - max
44   Bool_t  fLHCLuminosityFlag;     //Shows whether this cut is used or
45   UShort_t fNBunchesRange[2];     //Number of bunches in beam
46   Bool_t   fNBunchesFlag;         //Shows whether this cut is used or
47   TString  fFillingScheme;        //Rquired filling scheme name
48   Bool_t   fFillingSchemeFlag;    //Shows whether this cut is used or
49   Int_t    fFillNoRange[2];       //Required Fill no range
50   Bool_t   fFillNoFlag;           //Shows whether this cut is used or
51   Float_t  fBeamEnergyRange[2];   //Beam energy range
52   Bool_t   fBeamEnergyFlag;       //Shows whether this cut is used or
53   Float_t  fBunchIntensityRange[2];//Intensity per bunch range
54   Bool_t   fBunchIntensityFlag;   //Shows whether this cut is used or
55
56   ClassDef(AliLHCTagCuts, 2)
57 };
58
59 #endif