3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
6 //////////////////////////////////////////////////////////////////////////////
7 // Class AliEventInfo //
8 // Container class for all the information related to LHCstate, run and //
9 // event types, trigger mask and trigger clusters. //
10 // It is used in order to provide the detector's AliRecoParam objects with//
11 // the necessary information so that they can decide which instance of //
12 // AliDetectorRecoParam to use in reconstruction one particular event. //
14 // cvetan.cheshkov@cern.ch 12/06/2008 //
15 //////////////////////////////////////////////////////////////////////////////
18 #include <TObjString.h>
20 class AliEventInfo : public TObject {
24 AliEventInfo(const char *lhcState,
27 const char *activeDetectors);
28 virtual ~AliEventInfo() {}
30 void SetEventType(UInt_t evType) { fEventType = evType; }
31 void SetTriggerClasses(const char *classes) { fTriggerClasses.SetString(classes); }
32 void SetTriggerMask(ULong64_t mask) { fTriggerMask = mask; }
33 void SetTriggerCluster(const char *cluster) { fTriggerCluster.SetString(cluster); }
34 void SetHLTDecision(const char *decision) { fHLTDecision.SetString(decision); }
36 virtual void Print(Option_t */*option=""*/) const { Dump(); }
38 const char *GetLHCState() const { return fLHCState.GetString().Data(); }
39 const char *GetBeamType() const { return fBeamType.GetString().Data(); }
40 const char *GetRunType() const { return fRunType.GetString().Data(); }
41 const char *GetActiveDetectors() const { return fActiveDetectors.GetString().Data(); }
42 UInt_t GetEventType() const { return fEventType; }
43 const char *GetTriggerClasses() const { return fTriggerClasses.GetString().Data(); }
44 ULong64_t GetTriggerMask() const { return fTriggerMask; }
45 const char *GetTriggerCluster() const { return fTriggerCluster.GetString().Data(); }
46 const char *GetHLTDecision() const { return fHLTDecision.GetString().Data(); }
48 AliEventInfo(const AliEventInfo &evInfo);
49 AliEventInfo& operator= (const AliEventInfo& evInfo);
54 TObjString fLHCState; // state of the machine as provided by DCS and DAQ log-book (per run)
55 TObjString fBeamType; // beam type for Alice
56 TObjString fRunType; // run type accoring to ECS (per run)
57 TObjString fActiveDetectors;// list of active detectors (per run)
58 UInt_t fEventType; // event type as defined by DAQ (start_of_*,calibration,physics etc) (per event)
59 TObjString fTriggerClasses; // list of fired trigger classes (per event)
60 ULong64_t fTriggerMask; // trigger mask as received from DAQ or CTP raw-data payload (per event)
61 TObjString fTriggerCluster; // list of detectors that have been read out (per event)
62 TObjString fHLTDecision; // string describing the HLT decision (per event)
64 ClassDef(AliEventInfo,2) // Event info class