AliRoot Core  ee782a0 (ee782a0)
AliEventInfo.h
Go to the documentation of this file.
1 #ifndef ALIEVENTINFO_H
2 #define ALIEVENTINFO_H
3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice */
5 
7 // Class AliEventInfo //
8 // Container class for all the information related to //
9 // event type, trigger mask and trigger clusters. //
10 // It is used together with AliRunInfo in order to provide the detector's //
11 // AliRecoParam object with //
12 // the necessary information so that it can decide which instance of //
13 // AliDetectorRecoParam objects to use in reconstruction one particular //
14 // event. //
15 // //
16 // cvetan.cheshkov@cern.ch 12/06/2008 //
18 
19 #include <TObject.h>
20 #include <TObjString.h>
21 
22 class AliEventInfo : public TObject {
23 
24  public:
25  enum {kBeamTrigBit=BIT(14),kCosmicBit=BIT(15),kLaserBit=BIT(16)};
26  AliEventInfo();
27  AliEventInfo(UInt_t evType,
28  const char *classes,
29  ULong64_t mask,
30  const char *cluster,
31  const char *decision);
32  virtual ~AliEventInfo() {}
33 
34  void SetEventType(UInt_t evType) { fEventType = evType; }
35  void SetTriggerClasses(const char *classes) { fTriggerClasses = classes; }
36  void SetTriggerMask(ULong64_t mask) { fTriggerMask = mask; }
37  void SetTriggerMaskNext50(ULong64_t mask) { fTriggerMaskNext50 = mask; }
38  void SetTriggerCluster(const char *cluster) { fTriggerCluster = cluster; }
39  void SetHLTDecision(const char *decision) { fHLTDecision = decision; }
40 
41  // virtual void Print(Option_t */*option=""*/) const { Dump(); }
42 
43  UInt_t GetEventType() const { return fEventType; }
44  const char *GetTriggerClasses() const { return fTriggerClasses.Data(); }
45  ULong64_t GetTriggerMask() const { return fTriggerMask; }
46  ULong64_t GetTriggerMaskNext50() const { return fTriggerMaskNext50; }
47  const char *GetTriggerCluster() const { return fTriggerCluster.Data(); }
48  const char *GetHLTDecision() const { return fHLTDecision.Data(); }
49 
50  AliEventInfo(const AliEventInfo &evInfo);
51  AliEventInfo& operator= (const AliEventInfo& evInfo);
52 
53  Bool_t HasBeamTrigger() const {return TestBit(kBeamTrigBit);}
54  Bool_t HasCosmicTrigger() const {return TestBit(kCosmicBit);}
55  Bool_t HasCalibLaserTrigger() const {return TestBit(kLaserBit);}
56  void SetBeamTrigger(Bool_t v=kTRUE) {SetBit(kBeamTrigBit,v);}
57  void SetCosmicTrigger(Bool_t v=kTRUE) {SetBit(kCosmicBit,v);}
58  void SetCalibLaserTrigger(Bool_t v=kTRUE) {SetBit(kLaserBit,v);}
59 
60  void Reset();
61 
62  void Print(Option_t* opt=0) const;
63 
64  private:
65 
66  UInt_t fEventType; // event type as defined by DAQ (start_of_*,calibration,physics etc) (per event)
67  TString fTriggerClasses; // list of fired trigger classes (per event)
68  ULong64_t fTriggerMask; // trigger mask as received from DAQ or CTP raw-data payload (per event)
69  ULong64_t fTriggerMaskNext50; // trigger mask as received from DAQ or CTP raw-data payload (per event)
70  TString fTriggerCluster; // list of detectors that have been read out (per event)
71  TString fHLTDecision; // string describing the HLT decision (per event)
72 
73  ClassDef(AliEventInfo,4) // Event info class
74 };
75 
76 #endif
void SetHLTDecision(const char *decision)
Definition: AliEventInfo.h:39
const char * GetHLTDecision() const
Definition: AliEventInfo.h:48
UInt_t fEventType
Definition: AliEventInfo.h:66
TString fTriggerCluster
Definition: AliEventInfo.h:70
ULong64_t fTriggerMaskNext50
Definition: AliEventInfo.h:69
ULong64_t GetTriggerMask() const
Definition: AliEventInfo.h:45
UInt_t GetEventType() const
Definition: AliEventInfo.h:43
TString fHLTDecision
Definition: AliEventInfo.h:71
TString fTriggerClasses
Definition: AliEventInfo.h:67
void SetEventType(UInt_t evType)
Definition: AliEventInfo.h:34
Bool_t HasBeamTrigger() const
Definition: AliEventInfo.h:53
Bool_t HasCalibLaserTrigger() const
Definition: AliEventInfo.h:55
void SetTriggerMaskNext50(ULong64_t mask)
Definition: AliEventInfo.h:37
void Print(Option_t *opt=0) const
AliEventInfo & operator=(const AliEventInfo &evInfo)
void SetTriggerCluster(const char *cluster)
Definition: AliEventInfo.h:38
const char * GetTriggerCluster() const
Definition: AliEventInfo.h:47
ULong64_t fTriggerMask
Definition: AliEventInfo.h:68
void SetCosmicTrigger(Bool_t v=kTRUE)
Definition: AliEventInfo.h:57
ULong64_t GetTriggerMaskNext50() const
Definition: AliEventInfo.h:46
void SetCalibLaserTrigger(Bool_t v=kTRUE)
Definition: AliEventInfo.h:58
void SetTriggerClasses(const char *classes)
Definition: AliEventInfo.h:35
void SetTriggerMask(ULong64_t mask)
Definition: AliEventInfo.h:36
Bool_t HasCosmicTrigger() const
Definition: AliEventInfo.h:54
virtual ~AliEventInfo()
Definition: AliEventInfo.h:32
void SetBeamTrigger(Bool_t v=kTRUE)
Definition: AliEventInfo.h:56
const char * GetTriggerClasses() const
Definition: AliEventInfo.h:44