#include <TClonesArray.h>
#include "AliLHCTag.h"
#include "AliDetectorTag.h"
+#include "AliFileTag.h"
#include "AliQA.h"
class AliEventTag;
void SetLHCPeriod(TString v) {fLHCPeriod = v; }
void SetReconstructionPass(TString v) {fRecPass = v; }
void SetProductionName(TString v) {fProductionName = v; }
- void SetRunQuality(Int_t Pn) {fAliceRunQuality = Pn;}
+ void SetRunValidation(Bool_t val) {fAliceRunValidated = val; }
+ void SetRunQuality(Int_t Pn) {fAliceRunGlobalQuality = Pn;}
void SetBeamEnergy(Float_t PE) {fAliceBeamEnergy = PE;}
void SetBeamType(TString Ptype) {fAliceBeamType = Ptype;}
void SetCalibVersion(Int_t Pn) {fAliceCalibrationVersion = Pn;}
void SetDataType(Int_t i) {fAliceDataType = i;}
- void SetNEvents(Int_t Pn) { fNumEvents = Pn; }
+/* void SetNEvents(Int_t Pn) { fNumEvents = Pn; } */
+ void SetBeamTriggers(ULong_t bt) { fBeamTriggers = bt; }
+ void SetCollisionTriggers(ULong_t ct) { fCollisionTriggers = ct; }
+ void SetEmptyTriggers(ULong_t et) {fEmptyTriggers = et; }
+ void SetASideTriggers(ULong_t at) {fASideTriggers = at; }
+ void SetCSideTriggers(ULong_t ct) {fCSideTriggers = ct; }
+ void SetHMTriggers(ULong_t ht) {fHMTriggers = ht; }
+ void SetMuonTriggers(ULong_t mt) {fMuonTriggers = mt; }
+ void SetCollisionRate(Float_t rate) {fCollisionRate = rate; }
+ void SetMeanVertex(Float_t mv) {fMeanVertex = mv; }
+ void SetVertexQuality(Float_t vq) {fVertexQuality = vq; }
void SetLHCTag(Float_t Plumin, TString type);
void SetDetectorTag(UInt_t mask, UInt_t maskReco=0);
void SetQA(const AliQA &qa) { fQA=qa; }
void SetEventSpecies(Bool_t * es, Int_t eslength) ;
void AddEventTag(const AliEventTag &t);
void Clear(const char * opt = "");
+ void AddFileTag(AliFileTag *t);
+
+ void SetActiveTriggerClasses(TString str) { fActiveTriggerClasses = str; }
void CopyStandardContent(AliRunTag *oldtag);
-
+ void UpdateFromRunTable(AliRunTag *tabtag);
+
//____________________________________________________//
Int_t GetRunId() const {return fAliceRunId;}
Float_t GetMagneticField() const {return fAliceMagneticField;}
const char* GetLHCPeriod() const {return fLHCPeriod.Data();}
const char* GetReconstructionPass() const {return fRecPass.Data();}
const char* GetProductionName() const {return fProductionName.Data();}
- Int_t GetRunQuality() const {return fAliceRunQuality;}
+ Bool_t GetRunValidation() const {return fAliceRunValidated;}
+ Int_t GetRunQuality() const {return fAliceRunGlobalQuality;}
Float_t GetBeamEnergy() const {return fAliceBeamEnergy;}
const char *GetBeamType() const {return fAliceBeamType.Data();}
Int_t GetCalibVersion() const {return fAliceCalibrationVersion;}
Int_t GetDataType() const {return fAliceDataType;}
- Int_t GetNEvents() const {return fNumEvents;}
+ Int_t GetNEvents() const;
+ ULong_t GetBeamTriggers() const {return fBeamTriggers;}
+ ULong_t GetCollisionTriggers() const {return fCollisionTriggers;}
+ ULong_t GetEmptyTriggers() const {return fEmptyTriggers;}
+ ULong_t GetASideTriggers() const {return fASideTriggers;}
+ ULong_t GetCSideTriggers() const {return fCSideTriggers;}
+ ULong_t GetHMTriggers() const {return fHMTriggers;}
+ ULong_t GetMuonTriggers() const {return fMuonTriggers;}
+ Float_t GetCollisionRate() const {return fCollisionRate;}
+ Float_t GetMeanVertex() const {return fMeanVertex;}
+ Float_t GetVertexQuality() const {return fVertexQuality;}
AliLHCTag *GetLHCTag() {return &fLHCTag; }
AliDetectorTag *GetDetectorTags() {return &fDetectorTag;}
- const TClonesArray *GetEventTags() const {return &fEventTag;}
+ // const TClonesArray *GetEventTags() const {return &fEventTag;}
+ const AliEventTag* GetEventTag(int evt) const;
+ AliFileTag *GetFileTagForEvent(int evt);
+ Int_t GetNFiles() const { return fFileTags.GetEntries(); }
+ AliFileTag *GetFileTag(Int_t ifile) const {return (AliFileTag *) fFileTags.At(ifile);}
const AliQA *GetQA() const {return &fQA;}
ULong_t * GetQAArray() const {return fQAArray;}
Int_t GetQALength() const { return fQALength ; }
Bool_t * GetEventSpecies() const {return fEventSpecies;}
Int_t GetESLength() const { return fESLength ; }
+ Int_t GetFileId(const char *guid);
+ TString GetActiveTriggerClasses() const {return fActiveTriggerClasses; }
+
//____________________________________________________//
private:
Int_t fAliceRunId; //the run id
TString fLHCPeriod; //datataking period
TString fRecPass; //Reconstruction pass number
TString fProductionName; //production name
- Bool_t fAliceRunQuality; //validation script
+ Bool_t fAliceRunValidated; //validation script
+ Int_t fAliceRunGlobalQuality; //validation script
Float_t fAliceBeamEnergy; //beam energy cm
TString fAliceBeamType; //run type (pp, AA, pA)
Int_t fAliceCalibrationVersion; //calibration version
Int_t fAliceDataType; //0: simulation -- 1: data
- Int_t fNumEvents; //number of events per file
+/* Int_t fNumEvents; //number of events per file */
+ Int_t fNumFiles; //number of files in the run
+ ULong_t fBeamTriggers; //number of beam triggers in run (CBEAMB)
+ ULong_t fCollisionTriggers; //number of collision triggers in run (CINT1-B)
+ ULong_t fEmptyTriggers; //number of empty triggers in run (CINT1-E)
+ ULong_t fASideTriggers; //number of A-side triggers in run (CINT1-A)
+ ULong_t fCSideTriggers; //number of C-side triggers in run (CINT1-C)
+ ULong_t fHMTriggers; //number of High-Mult triggers
+ ULong_t fMuonTriggers; //number of Muon Triggers
+ Float_t fCollisionRate; //Average collision rate
+ Float_t fMeanVertex; //mean vertex position
+ Float_t fVertexQuality; //vertex quality
Int_t fNumDetectors; //number of detector configs per file
- TClonesArray fEventTag; //array with all event tags
+ // TClonesArray fEventTag; //array with all event tags
+ // TClonesArray fFileTags; //array of file tags
+ // AliFileTag **fFileTags; //array of file tags
+ TObjArray fFileTags; //array of file tags
AliDetectorTag fDetectorTag; //array with all the detector tags
AliLHCTag fLHCTag; //LHC tag object
+ TString fActiveTriggerClasses; //Active trigger classes for run
AliQA fQA; //needed for backward compaibility
Int_t fQALength; // Length of the fQA array
ULong_t * fQAArray ; //[fQALength] QA objects's data
Int_t fESLength; // Length of the Event Specie Length
- Bool_t * fEventSpecies; //[fESLength] EventSpecies in this run
+ Bool_t * fEventSpecies; //[fESLength] EventSpecies in this run
- ClassDef(AliRunTag,7) //(ClassName, ClassVersion)
+
+ ClassDef(AliRunTag,9) //(ClassName, ClassVersion)
};
//___________________________________________________________________________