Added V0A23 (V0 rings 2-3), V0C01 (V0 rings 0-1) and V0S = V0A23+V0C01
[u/mrichter/AliRoot.git] / STEER / STEERBase / AliRunTag.h
CommitLineData
f3a97c86 1#ifndef ALIRUNTAG_H
2#define ALIRUNTAG_H
3/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
5
6
7/* $Id$ */
8
9//-------------------------------------------------------------------------
10// Class AliRunTag
11// This is the class to deal with the tags for the run level
12//
13// Origin: Panos Christakoglou, UOA-CERN, Panos.Christakoglou@cern.ch
14//-------------------------------------------------------------------------
15
17a9d008 16#include <TObject.h>
17#include <TString.h>
18#include <TClonesArray.h>
f3a97c86 19#include "AliLHCTag.h"
c5caed45 20#include "AliDetectorTag.h"
04cb11d4 21#include "AliFileTag.h"
9ee5d033 22#include "AliQA.h"
e16601cf 23
24class AliEventTag;
c5caed45 25//class AliDetectorTag;
f3a97c86 26
27
bec9a2e7 28//___________________________________________________________________________
29class AliRunTag : public TObject {
f3a97c86 30 public:
31 AliRunTag();
32 virtual ~AliRunTag();
27293674 33 AliRunTag(const AliRunTag& qa) ;
34 AliRunTag& operator = (const AliRunTag& tag) ;
0f8cecc4 35 Bool_t Add(const AliRunTag* tag) ;
bec9a2e7 36 //____________________________________________________//
37 void SetRunId(Int_t Pid) {fAliceRunId = Pid;}
38 void SetMagneticField(Float_t Pmag) {fAliceMagneticField = Pmag;}
850d5792 39 void SetDipoleField(Float_t Pmag) {fAliceDipoleField = Pmag;}
bec9a2e7 40 void SetRunStartTime(Int_t Pt0) {fAliceRunStartTime = Pt0;}
41 void SetRunStopTime(Int_t Pt1) {fAliceRunStopTime = Pt1;}
42 void SetAlirootVersion(TString v) {fAlirootVersion = v;}
43 void SetRootVersion(TString v) {fRootVersion = v;}
44 void SetGeant3Version(TString v) {fGeant3Version = v;}
850d5792 45 void SetLHCPeriod(TString v) {fLHCPeriod = v; }
46 void SetReconstructionPass(TString v) {fRecPass = v; }
47 void SetProductionName(TString v) {fProductionName = v; }
04cb11d4 48 void SetRunValidation(Bool_t val) {fAliceRunValidated = val; }
49 void SetRunQuality(Int_t Pn) {fAliceRunGlobalQuality = Pn;}
bec9a2e7 50 void SetBeamEnergy(Float_t PE) {fAliceBeamEnergy = PE;}
51 void SetBeamType(TString Ptype) {fAliceBeamType = Ptype;}
52 void SetCalibVersion(Int_t Pn) {fAliceCalibrationVersion = Pn;}
53 void SetDataType(Int_t i) {fAliceDataType = i;}
04cb11d4 54/* void SetNEvents(Int_t Pn) { fNumEvents = Pn; } */
55 void SetBeamTriggers(ULong_t bt) { fBeamTriggers = bt; }
56 void SetCollisionTriggers(ULong_t ct) { fCollisionTriggers = ct; }
57 void SetEmptyTriggers(ULong_t et) {fEmptyTriggers = et; }
58 void SetASideTriggers(ULong_t at) {fASideTriggers = at; }
59 void SetCSideTriggers(ULong_t ct) {fCSideTriggers = ct; }
60 void SetHMTriggers(ULong_t ht) {fHMTriggers = ht; }
61 void SetMuonTriggers(ULong_t mt) {fMuonTriggers = mt; }
62 void SetCollisionRate(Float_t rate) {fCollisionRate = rate; }
63 void SetMeanVertex(Float_t mv) {fMeanVertex = mv; }
64 void SetVertexQuality(Float_t vq) {fVertexQuality = vq; }
c5caed45 65 void SetLHCTag(Float_t Plumin, TString type);
3ace8f92 66 void SetDetectorTag(UInt_t mask, UInt_t maskReco=0);
9ee5d033 67 void SetQA(const AliQA &qa) { fQA=qa; }
68 void SetQAArray(ULong_t * qa, Int_t qalength) ;
27293674 69 void SetEventSpecies(Bool_t * es, Int_t eslength) ;
bec9a2e7 70 void AddEventTag(const AliEventTag &t);
71 void Clear(const char * opt = "");
04cb11d4 72 void AddFileTag(AliFileTag *t);
73
74 void SetActiveTriggerClasses(TString str) { fActiveTriggerClasses = str; }
4c117ffd 75
76 void CopyStandardContent(AliRunTag *oldtag);
04cb11d4 77 void UpdateFromRunTable(AliRunTag *tabtag);
78
bec9a2e7 79 //____________________________________________________//
80 Int_t GetRunId() const {return fAliceRunId;}
81 Float_t GetMagneticField() const {return fAliceMagneticField;}
850d5792 82 Float_t GetDipoleField() const {return fAliceDipoleField;}
bec9a2e7 83 Int_t GetRunStartTime() const {return fAliceRunStartTime;}
84 Int_t GetRunStopTime() const {return fAliceRunStopTime;}
85 const char* GetAlirootVersion() const {return fAlirootVersion.Data();}
86 const char* GetRootVersion() const {return fRootVersion.Data();}
87 const char* GetGeant3Version() const {return fGeant3Version.Data();}
850d5792 88 const char* GetLHCPeriod() const {return fLHCPeriod.Data();}
89 const char* GetReconstructionPass() const {return fRecPass.Data();}
90 const char* GetProductionName() const {return fProductionName.Data();}
04cb11d4 91 Bool_t GetRunValidation() const {return fAliceRunValidated;}
92 Int_t GetRunQuality() const {return fAliceRunGlobalQuality;}
bec9a2e7 93 Float_t GetBeamEnergy() const {return fAliceBeamEnergy;}
94 const char *GetBeamType() const {return fAliceBeamType.Data();}
95 Int_t GetCalibVersion() const {return fAliceCalibrationVersion;}
96 Int_t GetDataType() const {return fAliceDataType;}
04cb11d4 97 Int_t GetNEvents() const;
98 ULong_t GetBeamTriggers() const {return fBeamTriggers;}
99 ULong_t GetCollisionTriggers() const {return fCollisionTriggers;}
100 ULong_t GetEmptyTriggers() const {return fEmptyTriggers;}
101 ULong_t GetASideTriggers() const {return fASideTriggers;}
102 ULong_t GetCSideTriggers() const {return fCSideTriggers;}
103 ULong_t GetHMTriggers() const {return fHMTriggers;}
104 ULong_t GetMuonTriggers() const {return fMuonTriggers;}
105 Float_t GetCollisionRate() const {return fCollisionRate;}
106 Float_t GetMeanVertex() const {return fMeanVertex;}
107 Float_t GetVertexQuality() const {return fVertexQuality;}
bec9a2e7 108 AliLHCTag *GetLHCTag() {return &fLHCTag; }
c5caed45 109 AliDetectorTag *GetDetectorTags() {return &fDetectorTag;}
04cb11d4 110 // const TClonesArray *GetEventTags() const {return &fEventTag;}
111 const AliEventTag* GetEventTag(int evt) const;
112 AliFileTag *GetFileTagForEvent(int evt);
113 Int_t GetNFiles() const { return fFileTags.GetEntries(); }
114 AliFileTag *GetFileTag(Int_t ifile) const {return (AliFileTag *) fFileTags.At(ifile);}
9ee5d033 115 const AliQA *GetQA() const {return &fQA;}
116 ULong_t * GetQAArray() const {return fQAArray;}
27293674 117 Int_t GetQALength() const { return fQALength ; }
118 Bool_t * GetEventSpecies() const {return fEventSpecies;}
119 Int_t GetESLength() const { return fESLength ; }
04cb11d4 120 Int_t GetFileId(const char *guid);
0f8cecc4 121 Int_t GetNumFiles() const {return fNumFiles;}
04cb11d4 122 TString GetActiveTriggerClasses() const {return fActiveTriggerClasses; }
123
bec9a2e7 124 //____________________________________________________//
e16601cf 125 private:
bec9a2e7 126 Int_t fAliceRunId; //the run id
127 Float_t fAliceMagneticField; //value of the magnetic field
850d5792 128 Float_t fAliceDipoleField; //value of the magnetic field in dipole
bec9a2e7 129 Int_t fAliceRunStartTime; //run start date
130 Int_t fAliceRunStopTime; //run stop date
131 TString fAlirootVersion; //aliroot version
132 TString fRootVersion; //root version
133 TString fGeant3Version; //geant3 version
850d5792 134 TString fLHCPeriod; //datataking period
135 TString fRecPass; //Reconstruction pass number
136 TString fProductionName; //production name
04cb11d4 137 Bool_t fAliceRunValidated; //validation script
138 Int_t fAliceRunGlobalQuality; //validation script
bec9a2e7 139 Float_t fAliceBeamEnergy; //beam energy cm
140 TString fAliceBeamType; //run type (pp, AA, pA)
141 Int_t fAliceCalibrationVersion; //calibration version
142 Int_t fAliceDataType; //0: simulation -- 1: data
04cb11d4 143/* Int_t fNumEvents; //number of events per file */
144 Int_t fNumFiles; //number of files in the run
145 ULong_t fBeamTriggers; //number of beam triggers in run (CBEAMB)
146 ULong_t fCollisionTriggers; //number of collision triggers in run (CINT1-B)
147 ULong_t fEmptyTriggers; //number of empty triggers in run (CINT1-E)
148 ULong_t fASideTriggers; //number of A-side triggers in run (CINT1-A)
149 ULong_t fCSideTriggers; //number of C-side triggers in run (CINT1-C)
150 ULong_t fHMTriggers; //number of High-Mult triggers
151 ULong_t fMuonTriggers; //number of Muon Triggers
152 Float_t fCollisionRate; //Average collision rate
153 Float_t fMeanVertex; //mean vertex position
154 Float_t fVertexQuality; //vertex quality
bec9a2e7 155 Int_t fNumDetectors; //number of detector configs per file
04cb11d4 156 // TClonesArray fEventTag; //array with all event tags
157 // TClonesArray fFileTags; //array of file tags
158 // AliFileTag **fFileTags; //array of file tags
159 TObjArray fFileTags; //array of file tags
46af88be 160 AliDetectorTag fDetectorTag; //array with all the detector tags
bec9a2e7 161 AliLHCTag fLHCTag; //LHC tag object
04cb11d4 162 TString fActiveTriggerClasses; //Active trigger classes for run
9ee5d033 163 AliQA fQA; //needed for backward compaibility
27293674 164 Int_t fQALength; // Length of the fQA array
9ee5d033 165 ULong_t * fQAArray ; //[fQALength] QA objects's data
27293674 166 Int_t fESLength; // Length of the Event Specie Length
04cb11d4 167 Bool_t * fEventSpecies; //[fESLength] EventSpecies in this run
e16601cf 168
04cb11d4 169
170 ClassDef(AliRunTag,9) //(ClassName, ClassVersion)
f3a97c86 171};
bec9a2e7 172//___________________________________________________________________________
f3a97c86 173
174#endif