]> git.uio.no Git - u/mrichter/AliRoot.git/blame - STEER/ESD/AliESDHeader.h
drawCorrelation macro adapted for Toy Model (MW)
[u/mrichter/AliRoot.git] / STEER / ESD / AliESDHeader.h
CommitLineData
d5ebf00e 1// -*- mode: C++ -*-
2#ifndef ALIESDHEADER_H
3#define ALIESDHEADER_H
4
5/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
6 * See cxx source for full Copyright notice */
7
8//-------------------------------------------------------------------------
9// Class AliESDHeader
10// Header data
11// for the ESD
12// Origin: Christian Klein-Boesing, CERN, Christian.Klein-Boesing@cern.ch
13//-------------------------------------------------------------------------
14
96bf4ffc 15#include <TObjArray.h>
8258ca76 16#include <TClonesArray.h>
4ccebdba 17#include <TBits.h>
9ae2e5e6 18#include "AliVHeader.h"
bf1f98c4 19#include "AliTriggerScalersESD.h"
20#include "AliTriggerScalersRecordESD.h"
21
22class AliTriggerScalersESD;
23class AliTriggerScalersRecordESD;
76a7c65b 24class AliTriggerIR;
d789992f 25class AliTriggerConfiguration;
d5ebf00e 26
9ae2e5e6 27class AliESDHeader: public AliVHeader {
d5ebf00e 28public:
29 AliESDHeader();
9ae2e5e6 30 virtual ~AliESDHeader();
d5ebf00e 31 AliESDHeader(const AliESDHeader& header);
32 AliESDHeader& operator=(const AliESDHeader& header);
732a24fe 33 virtual void Copy(TObject &obj) const;
d5ebf00e 34
35 void SetTriggerMask(ULong64_t n) {fTriggerMask=n;}
36 void SetOrbitNumber(UInt_t n) {fOrbitNumber=n;}
37 void SetTimeStamp(UInt_t timeStamp){fTimeStamp = timeStamp;}
38 void SetEventType(UInt_t eventType){fEventType = eventType;}
fd2e2210 39 void SetEventSpecie(UInt_t eventSpecie){fEventSpecie = eventSpecie;}
d5ebf00e 40 void SetEventNumberInFile(Int_t n) {fEventNumberInFile=n;}
41 void SetBunchCrossNumber(UShort_t n) {fBunchCrossNumber=n;}
9ae2e5e6 42 void SetPeriodNumber(UInt_t n) {fPeriodNumber=n;}
d5ebf00e 43 void SetTriggerCluster(UChar_t n) {fTriggerCluster = n;}
c47cda51 44 Bool_t AddTriggerIR(const AliTriggerIR* ir);
d789992f 45 void SetCTPConfig(AliTriggerConfiguration* ctpConfig) {fCTPConfig=ctpConfig;};
b21623e0 46//************Setters/Getters for Trigger Inputs and TriggerScalersRecordESD
47 void SetL0TriggerInputs(UInt_t n) {fL0TriggerInputs=n;}
48 void SetL1TriggerInputs(UInt_t n) {fL1TriggerInputs=n;}
49 void SetL2TriggerInputs(UShort_t n) {fL2TriggerInputs=n;}
50 UInt_t GetL0TriggerInputs() const {return fL0TriggerInputs;}
51 UInt_t GetL1TriggerInputs() const {return fL1TriggerInputs;}
52 UShort_t GetL2TriggerInputs() const {return fL2TriggerInputs;}
bf1f98c4 53 void SetTriggerScalersRecord(AliTriggerScalersESD *scalerRun) {fTriggerScalers.AddTriggerScalers(scalerRun); }
d789992f 54 void SetTriggerScalersDeltaEvent(const AliTriggerScalersRecordESD *scalerRun) {fTriggerScalersDeltaEvent = *scalerRun; }
55 void SetTriggerScalersDeltaRun(const AliTriggerScalersRecordESD *scalerRun) {fTriggerScalersDeltaRun = *scalerRun; }
bf1f98c4 56 const AliTriggerScalersRecordESD* GetTriggerScalersRecord() const {return &fTriggerScalers; }
d789992f 57 const AliTriggerScalersRecordESD* GetTriggerScalersDeltaEvent() const {return &fTriggerScalersDeltaEvent; }
58 const AliTriggerScalersRecordESD* GetTriggerScalersDeltaRun() const {return &fTriggerScalersDeltaRun; }
96bf4ffc 59 const AliTriggerIR* GetTriggerIR(Int_t i) const { return (const AliTriggerIR*)fIRBufferArray[i]; }
d789992f 60 void SetActiveTriggerInputs(const char*name, Int_t index);
6ef9caeb 61 const char* GetTriggerInputName(Int_t index, Int_t trglevel) const;
62 TString GetActiveTriggerInputs() const;
63 TString GetFiredTriggerInputs() const;
64 Bool_t IsTriggerInputFired(const char *name) const;
d789992f 65 const AliTriggerConfiguration* GetCTPConfig() const { return fCTPConfig;}
4ccebdba 66 void SetIRInteractionMap();
67 Int_t FindIRIntInteractionsBXMap(Int_t difference);
68 TBits GetIRInt2InteractionMap() { SetIRInteractionMap(); return fIRInt2InteractionsMap; }
69 TBits GetIRInt1InteractionMap() { SetIRInteractionMap(); return fIRInt1InteractionsMap; }
70 Int_t GetIRInt2ClosestInteractionMap();
e89fc1d8 71 Int_t GetIRInt1ClosestInteractionMap(Int_t gap = 3);
4ccebdba 72 Int_t GetIRInt2LastInteractionMap();
b21623e0 73//**************************************************************************
74
d5ebf00e 75 ULong64_t GetTriggerMask() const {return fTriggerMask;}
76 UInt_t GetOrbitNumber() const {return fOrbitNumber;}
77 UInt_t GetTimeStamp() const { return fTimeStamp;}
78 UInt_t GetEventType() const { return fEventType;}
fd2e2210 79 UInt_t GetEventSpecie() const { return fEventSpecie;}
d5ebf00e 80 Int_t GetEventNumberInFile() const {return fEventNumberInFile;}
81 UShort_t GetBunchCrossNumber() const {return fBunchCrossNumber;}
9ae2e5e6 82 UInt_t GetPeriodNumber() const {return fPeriodNumber;}
d5ebf00e 83 UChar_t GetTriggerCluster() const {return fTriggerCluster;}
d01710c6 84 Int_t GetTriggerIREntries() const { return fIRBufferArray.GetEntriesFast();};
85 Int_t GetTriggerIREntries(Int_t int1, Int_t int2, Float_t deltaTime = 180.) const;
86 TObjArray GetIRArray(Int_t int1, Int_t int2, Float_t deltaTime = 180.) const;
d5ebf00e 87 void Reset();
9ae2e5e6 88 void Print(const Option_t *opt=0) const;
6ef9caeb 89
d789992f 90 enum {kNTriggerInputs = 60}; //24 L0, 24 L1 and 12 L2 inputs
91
d5ebf00e 92private:
93
94 // Event Identification
95 ULong64_t fTriggerMask; // Trigger Type (mask)
96 UInt_t fOrbitNumber; // Orbit Number
97 UInt_t fTimeStamp; // Time stamp
98 UInt_t fEventType; // Type of Event
fd2e2210 99 UInt_t fEventSpecie; // Reconstruction event specie (1-default,2-lowM,4-highM,8-cosmic,16-cal)
4f036e6e 100 UInt_t fPeriodNumber; // Period Number
87d395bd 101 Int_t fEventNumberInFile; // Running Event count in the file
d5ebf00e 102 UShort_t fBunchCrossNumber; // Bunch Crossing Number
103 UChar_t fTriggerCluster; // Trigger cluster (mask)
d789992f 104 UInt_t fL0TriggerInputs; // L0 Trigger Inputs (mask)
105 UInt_t fL1TriggerInputs; // L1 Trigger Inputs (mask)
106 UShort_t fL2TriggerInputs; // L2 Trigger Inputs (mask)
107 AliTriggerScalersRecordESD fTriggerScalers; //Trigger counters of triggered classes in event, interpolated to the event time
108 AliTriggerScalersRecordESD fTriggerScalersDeltaEvent; // Change in the trigger scalers between the two counter readings closest to the event time
109 AliTriggerScalersRecordESD fTriggerScalersDeltaRun; // Total number of counts in the trigger scalers for the duration of the run
99dd1587 110 enum {kNMaxIR = 3}; // Max number of interaction records (IR)
111 AliTriggerIR* fIRArray[kNMaxIR];// Array with trigger IRs
6ef9caeb 112 TObjArray fTriggerInputsNames;// Array of TNamed of the active trigger inputs (L0,L1 and L2)
d789992f 113 AliTriggerConfiguration* fCTPConfig; // Trigger configuration for the run
96bf4ffc 114 TObjArray fIRBufferArray;// Array with interaction records before and after triggered event
4ccebdba 115 TBits fIRInt2InteractionsMap; // map of the Int2 events (normally 0TVX) near the event, that's Int2Id-EventId within -90 +90 BXs
116 TBits fIRInt1InteractionsMap; // map of the Int1 events (normally V0A&V0C) near the event, that's Int1Id-EventId within -90 +90 BXs
d789992f 117
96bf4ffc 118
4ccebdba 119 ClassDef(AliESDHeader,11)
d5ebf00e 120};
121
122#endif