]> git.uio.no Git - u/mrichter/AliRoot.git/blame - STEER/AliRunTagCuts.h
put delete before placement new, mem. leak possible in case entries==0 because of...
[u/mrichter/AliRoot.git] / STEER / AliRunTagCuts.h
CommitLineData
0c4ee52f 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
17class AliRunTag;
18
19//___________________________________________________________________________
20class AliRunTagCuts : public TObject {
21 public:
22 AliRunTagCuts();
23 ~AliRunTagCuts();
24 void Reset();
25
26 //____________________________________________________//
27 void SetRunId(Int_t Pid) {fAliceRunId = Pid; fAliceRunIdFlag = kTRUE;}
28 void SetMagneticField(Float_t Pmag) {fAliceMagneticField = Pmag; fAliceMagneticFieldFlag = kTRUE;}
04cb11d4 29 void SetDipoleField(Float_t Pmag) {fAliceDipoleField = Pmag; fAliceDipoleFieldFlag = kTRUE;}
0c4ee52f 30 void SetRunStartTimeRange(Int_t t0, Int_t t1) {fAliceRunStartTimeMin = t0; fAliceRunStartTimeMax = t1; fAliceRunStartTimeFlag = kTRUE;}
31 void SetRunStopTimeRange(Int_t t0, Int_t t1) {fAliceRunStopTimeMin = t0; fAliceRunStopTimeMax = t1; fAliceRunStartTimeFlag = kTRUE;}
c1807d02 32 void SetAlirootVersion(TString v) {fAlirootVersion = "VO_ALICE@AliRoot::"; fAlirootVersion += v; fAlirootVersionFlag = kTRUE;}
33 void SetRootVersion(TString v) {fRootVersion = "VO_ALICE@ROOT::"; fRootVersion += v; fRootVersionFlag = kTRUE;}
34 void SetGeant3Version(TString v) {fGeant3Version = "VO_ALICE@GEANT3::"; fGeant3Version += v; fGeant3VersionFlag = kTRUE;}
04cb11d4 35 void SetLHCPeriod(TString v) {fLHCPeriod = v; fLHCPeriodFlag = kTRUE; }
36 void SetReconstructionPass(TString v) {fRecPass = v; fRecPassFlag = kTRUE; }
37 void SetProductionName(TString v) {fProdName = v; fProdNameFlag = kTRUE; }
38 void SetRunValidation(Int_t Pn) {fAliceRunValidation = Pn; fAliceRunValidationFlag = kTRUE;}
39 void AddRunQualityValue(Int_t qval);
0c4ee52f 40 void SetBeamEnergy(Float_t PE) {fAliceBeamEnergy = PE; fAliceBeamTypeFlag = kTRUE;}
41 void SetBeamType(TString Ptype) {fAliceBeamType = Ptype; fAliceCalibrationVersionFlag = kTRUE;}
42 void SetCalibVersion(Int_t Pn) {fAliceCalibrationVersion = Pn; fAliceCalibrationVersionFlag = kTRUE;}
43 void SetDataType(Int_t i) {fAliceDataType = i; fAliceDataTypeFlag = kTRUE;}
04cb11d4 44 void SetBeamTriggersRange(ULong_t tmin, ULong_t tmax) { fBeamTriggerRange[0] = tmin; fBeamTriggerRange[1] = tmax; fBeamTriggerFlag = kTRUE; }
45 void SetCollisionTriggersRange(ULong_t tmin, ULong_t tmax) { fCollisionTriggerRange[0] = tmin; fCollisionTriggerRange[1] = tmax; fCollisionTriggerFlag = kTRUE; }
46 void SetEmptyTriggersRange(ULong_t tmin, ULong_t tmax) { fEmptyTriggerRange[0] = tmin; fEmptyTriggerRange[1] = tmax; fEmptyTriggerFlag = kTRUE; }
47 void SetASideTriggersRange(ULong_t tmin, ULong_t tmax) { fASideTriggerRange[0] = tmin; fASideTriggerRange[1] = tmax; fASideTriggerFlag = kTRUE; }
48 void SetCSideTriggersRange(ULong_t tmin, ULong_t tmax) { fCSideTriggerRange[0] = tmin; fCSideTriggerRange[1] = tmax; fCSideTriggerFlag = kTRUE; }
49 void SetHMTriggersRange(ULong_t tmin, ULong_t tmax) { fHMTriggerRange[0] = tmin; fHMTriggerRange[1] = tmax; fHMTriggerFlag = kTRUE; }
50 void SetMuonTriggersRange(ULong_t tmin, ULong_t tmax) { fMuonTriggerRange[0] = tmin; fMuonTriggerRange[1] = tmax; fMuonTriggerFlag = kTRUE; }
51 void SetCollisionRatesRange(ULong_t tmin, ULong_t tmax) { fCollisionRateRange[0] = tmin; fCollisionRateRange[1] = tmax; fCollisionRateFlag = kTRUE; }
52 void SetMeanVertexsRange(ULong_t tmin, ULong_t tmax) { fMeanVertexRange[0] = tmin; fMeanVertexRange[1] = tmax; fMeanVertexFlag = kTRUE; }
53 void SetVertexQualitysRange(ULong_t tmin, ULong_t tmax) { fVertexQualityRange[0] = tmin; fVertexQualityRange[1] = tmax; fVertexQualityFlag = kTRUE; }
54
0c4ee52f 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
04cb11d4 63 Float_t fAliceDipoleField; //value of the dipole field
64 Bool_t fAliceDipoleFieldFlag; //Shows whether this cut is used or not
0c4ee52f 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
04cb11d4 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
0c4ee52f 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
04cb11d4 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
0c4ee52f 115
04cb11d4 116 ClassDef(AliRunTagCuts, 2)
0c4ee52f 117};
118
119#endif