Line data Source code
1 : #ifndef ALIRUNTAGCUTS_H
2 : #define ALIRUNTAGCUTS_H
3 : /* See cxx source for full Copyright notice */
4 :
5 :
6 : /* $Id$ */
7 :
8 : //-------------------------------------------------------------------------
9 : // Class AliRunTagCuts
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 AliRunTag;
18 :
19 : //___________________________________________________________________________
20 0 : class AliRunTagCuts : public TObject {
21 : public:
22 : AliRunTagCuts();
23 : ~AliRunTagCuts();
24 : void Reset();
25 :
26 : //____________________________________________________//
27 0 : void SetRunId(Int_t Pid) {fAliceRunId = Pid; fAliceRunIdFlag = kTRUE;}
28 0 : void SetMagneticField(Float_t Pmag) {fAliceMagneticField = Pmag; fAliceMagneticFieldFlag = kTRUE;}
29 0 : void SetDipoleField(Float_t Pmag) {fAliceDipoleField = Pmag; fAliceDipoleFieldFlag = kTRUE;}
30 0 : void SetRunStartTimeRange(Int_t t0, Int_t t1) {fAliceRunStartTimeMin = t0; fAliceRunStartTimeMax = t1; fAliceRunStartTimeFlag = kTRUE;}
31 0 : void SetRunStopTimeRange(Int_t t0, Int_t t1) {fAliceRunStopTimeMin = t0; fAliceRunStopTimeMax = t1; fAliceRunStartTimeFlag = kTRUE;}
32 0 : void SetAlirootVersion(TString v) {fAlirootVersion = "VO_ALICE@AliRoot::"; fAlirootVersion += v; fAlirootVersionFlag = kTRUE;}
33 0 : void SetRootVersion(TString v) {fRootVersion = "VO_ALICE@ROOT::"; fRootVersion += v; fRootVersionFlag = kTRUE;}
34 0 : void SetGeant3Version(TString v) {fGeant3Version = "VO_ALICE@GEANT3::"; fGeant3Version += v; fGeant3VersionFlag = kTRUE;}
35 0 : void SetLHCPeriod(TString v) {fLHCPeriod = v; fLHCPeriodFlag = kTRUE; }
36 0 : void SetReconstructionPass(TString v) {fRecPass = v; fRecPassFlag = kTRUE; }
37 0 : void SetProductionName(TString v) {fProdName = v; fProdNameFlag = kTRUE; }
38 0 : void SetRunValidation(Int_t Pn) {fAliceRunValidation = Pn; fAliceRunValidationFlag = kTRUE;}
39 : void AddRunQualityValue(Int_t qval);
40 0 : void SetBeamEnergy(Float_t PE) {fAliceBeamEnergy = PE; fAliceBeamTypeFlag = kTRUE;}
41 0 : void SetBeamType(TString Ptype) {fAliceBeamType = Ptype; fAliceCalibrationVersionFlag = kTRUE;}
42 0 : void SetCalibVersion(Int_t Pn) {fAliceCalibrationVersion = Pn; fAliceCalibrationVersionFlag = kTRUE;}
43 0 : void SetDataType(Int_t i) {fAliceDataType = i; fAliceDataTypeFlag = kTRUE;}
44 0 : void SetBeamTriggersRange(ULong_t tmin, ULong_t tmax) { fBeamTriggerRange[0] = tmin; fBeamTriggerRange[1] = tmax; fBeamTriggerFlag = kTRUE; }
45 0 : void SetCollisionTriggersRange(ULong_t tmin, ULong_t tmax) { fCollisionTriggerRange[0] = tmin; fCollisionTriggerRange[1] = tmax; fCollisionTriggerFlag = kTRUE; }
46 0 : void SetEmptyTriggersRange(ULong_t tmin, ULong_t tmax) { fEmptyTriggerRange[0] = tmin; fEmptyTriggerRange[1] = tmax; fEmptyTriggerFlag = kTRUE; }
47 0 : void SetASideTriggersRange(ULong_t tmin, ULong_t tmax) { fASideTriggerRange[0] = tmin; fASideTriggerRange[1] = tmax; fASideTriggerFlag = kTRUE; }
48 0 : void SetCSideTriggersRange(ULong_t tmin, ULong_t tmax) { fCSideTriggerRange[0] = tmin; fCSideTriggerRange[1] = tmax; fCSideTriggerFlag = kTRUE; }
49 0 : void SetHMTriggersRange(ULong_t tmin, ULong_t tmax) { fHMTriggerRange[0] = tmin; fHMTriggerRange[1] = tmax; fHMTriggerFlag = kTRUE; }
50 0 : void SetMuonTriggersRange(ULong_t tmin, ULong_t tmax) { fMuonTriggerRange[0] = tmin; fMuonTriggerRange[1] = tmax; fMuonTriggerFlag = kTRUE; }
51 0 : void SetCollisionRatesRange(ULong_t tmin, ULong_t tmax) { fCollisionRateRange[0] = tmin; fCollisionRateRange[1] = tmax; fCollisionRateFlag = kTRUE; }
52 0 : void SetMeanVertexsRange(ULong_t tmin, ULong_t tmax) { fMeanVertexRange[0] = tmin; fMeanVertexRange[1] = tmax; fMeanVertexFlag = kTRUE; }
53 0 : void SetVertexQualitysRange(ULong_t tmin, ULong_t tmax) { fVertexQualityRange[0] = tmin; fVertexQualityRange[1] = tmax; fVertexQualityFlag = kTRUE; }
54 :
55 : Bool_t IsAccepted(AliRunTag *RunTag) const;
56 :
57 : //____________________________________________________//
58 : private:
59 : Int_t fAliceRunId; //the run id
60 : Bool_t fAliceRunIdFlag; //Shows whether this cut is used or not
61 : Float_t fAliceMagneticField; //value of the magnetic field
62 : Bool_t fAliceMagneticFieldFlag; //Shows whether this cut is used or not
63 : Float_t fAliceDipoleField; //value of the dipole field
64 : Bool_t fAliceDipoleFieldFlag; //Shows whether this cut is used or not
65 : Int_t fAliceRunStartTimeMin; //minimum run start date
66 : Int_t fAliceRunStartTimeMax; //maximum run start date
67 : Bool_t fAliceRunStartTimeFlag; //Shows whether this cut is used or not
68 : Int_t fAliceRunStopTimeMin; //minmum run stop date
69 : Int_t fAliceRunStopTimeMax; //maximum run stop date
70 : Bool_t fAliceRunStopTimeFlag; //Shows whether this cut is used or not
71 : TString fAlirootVersion; //aliroot version
72 : Bool_t fAlirootVersionFlag; //Shows whether this cut is used or not
73 : TString fRootVersion; //root version
74 : Bool_t fRootVersionFlag; //Shows whether this cut is used or not
75 : TString fGeant3Version; //geant3 version
76 : Bool_t fGeant3VersionFlag; //Shows whether this cut is used or not
77 : TString fLHCPeriod; //LHC period version
78 : Bool_t fLHCPeriodFlag; //Shows whether this cut is used or not
79 : TString fRecPass; //Reconstruction pass
80 : Bool_t fRecPassFlag; //Shows whether this cut is used or not
81 : TString fProdName; //Production Name
82 : Bool_t fProdNameFlag; //Shows whether this cut is used or not
83 : Bool_t fAliceRunValidation; //validation script
84 : Bool_t fAliceRunValidationFlag; //Shows whether this cut is used or not
85 : TString fAliceRunQualities; //selected qualities
86 : Bool_t fAliceRunQualitiesFlag; //Shows whether this cut is used or not
87 : Float_t fAliceBeamEnergy; //beam energy cm
88 : Bool_t fAliceBeamEnergyFlag; //Shows whether this cut is used or not
89 : TString fAliceBeamType; //run type (pp, AA, pA)
90 : Bool_t fAliceBeamTypeFlag; //Shows whether this cut is used or not
91 : Int_t fAliceCalibrationVersion; //calibration version
92 : Bool_t fAliceCalibrationVersionFlag; //Shows whether this cut is used or not
93 : Int_t fAliceDataType; //0: simulation -- 1: data
94 : Bool_t fAliceDataTypeFlag; //Shows whether this cut is used or not
95 : ULong_t fBeamTriggerRange[2]; //Beam trigger maximum and minimum
96 : Bool_t fBeamTriggerFlag; //Shows whether this cut is used or not
97 : ULong_t fCollisionTriggerRange[2]; //Collision trigger maximum and minimum
98 : Bool_t fCollisionTriggerFlag; //Shows whether this cut is used or not
99 : ULong_t fEmptyTriggerRange[2]; //Empty trigger maximum and minimum
100 : Bool_t fEmptyTriggerFlag; //Shows whether this cut is used or not
101 : ULong_t fASideTriggerRange[2]; //ASide trigger maximum and minimum
102 : Bool_t fASideTriggerFlag; //Shows whether this cut is used or not
103 : ULong_t fCSideTriggerRange[2]; //CSide trigger maximum and minimum
104 : Bool_t fCSideTriggerFlag; //Shows whether this cut is used or not
105 : ULong_t fHMTriggerRange[2]; //High Multiplicity trigger maximum and minimum
106 : Bool_t fHMTriggerFlag; //Shows whether this cut is used or not
107 : ULong_t fMuonTriggerRange[2]; //Muon trigger maximum and minimum
108 : Bool_t fMuonTriggerFlag; //Shows whether this cut is used or not
109 : Float_t fCollisionRateRange[2]; //Collision rate range
110 : Bool_t fCollisionRateFlag; //Shows whether this cut is used or not
111 : Float_t fMeanVertexRange[2]; //Mean Vertex Postion
112 : Bool_t fMeanVertexFlag; //Shows whether this cut is used or not
113 : Float_t fVertexQualityRange[2]; //Mean Vertex quality
114 : Bool_t fVertexQualityFlag; //Shows whether this cut is used or not
115 :
116 176 : ClassDef(AliRunTagCuts, 2)
117 : };
118 :
119 : #endif
|