]> git.uio.no Git - u/mrichter/AliRoot.git/blob - STEER/AliAODHeader.h
for non-miscalibrated digits, set an ad-hoc conversion factor fAdC->fToT to have...
[u/mrichter/AliRoot.git] / STEER / AliAODHeader.h
1 #ifndef AliAODHeader_H
2 #define AliAODHeader_H
3 /* Copyright(c) 1998-2007, ALICE Experiment at CERN, All rights reserved. *
4  * See cxx source for full Copyright notice                               */
5
6 /* $Id$ */
7
8 //-------------------------------------------------------------------------
9 //     AOD event base class
10 //     Author: Markus Oldenburg, CERN
11 //-------------------------------------------------------------------------
12
13 #include <TNamed.h>
14 #include "AliAODVertex.h"
15
16 class AliAODHeader : public TNamed {
17
18  public :
19   AliAODHeader();
20  
21   AliAODHeader(Int_t nRun, UShort_t nBunchX, UInt_t nOrbit, UInt_t nPeriod, Char_t *title="");
22   AliAODHeader(Int_t nRun, 
23                UShort_t nBunchX,
24                UInt_t nOrbit,
25                UInt_t nPeriod,
26                Int_t refMult,
27                Int_t refMultPos,
28                Int_t refMultNeg,
29                Double_t magField,
30                Double_t muonMagFieldScale,
31                Double_t cent,
32                Double_t n1Energy,
33                Double_t p1Energy,
34                Double_t n2Energy,
35                Double_t p2Energy,
36                Double_t emEnergy,
37                ULong64_t fTriggerMask,
38                UChar_t   fTriggerCluster,
39                UInt_t    fEventType,
40                Char_t *title="");
41   
42   virtual ~AliAODHeader();
43   AliAODHeader(const AliAODHeader& evt); 
44   AliAODHeader& operator=(const AliAODHeader& evt);
45   
46   Int_t     GetRunNumber()          const { return fRunNumber; }
47   UShort_t  GetBunchCrossNumber()   const { return fBunchCrossNumber; }
48   UInt_t    GetOrbitNumber()        const { return fOrbitNumber; }
49   UInt_t    GetPeriodNumber()       const { return fPeriodNumber; }
50   ULong64_t GetTriggerMask()        const { return fTriggerMask; }
51   UChar_t   GetTriggerCluster()     const { return fTriggerCluster; }
52   UInt_t    GetEventType()          const { return fEventType; }
53   Double_t  GetMagneticField()      const { return fMagneticField; }
54   Double_t  GetMuonMagFieldScale()  const { return fMuonMagFieldScale; }
55   
56   Double_t  GetCentrality()         const { return fCentrality; }
57   Double_t  GetZDCN1Energy()        const { return fZDCN1Energy; }
58   Double_t  GetZDCP1Energy()        const { return fZDCP1Energy; }
59   Double_t  GetZDCN2Energy()        const { return fZDCN2Energy; }
60   Double_t  GetZDCP2Energy()        const { return fZDCP2Energy; }
61   Double_t  GetZDCEMEnergy()        const { return fZDCEMEnergy; }
62   Int_t     GetRefMultiplicity()    const { return fRefMult; }
63   Int_t     GetRefMultiplicityPos() const { return fRefMultPos; }
64   Int_t     GetRefMultiplicityNeg() const { return fRefMultNeg; }
65   
66   void SetRunNumber(Int_t nRun)                { fRunNumber = nRun; }
67   void SetBunchCrossNumber(UShort_t nBx)       { fBunchCrossNumber = nBx; }
68   void SetOrbitNumber(Int_t nOr)               { fOrbitNumber = nOr; }
69   void SetPeriodNumber(Int_t nPer)             { fPeriodNumber = nPer; }
70   void SetTriggerMask(ULong64_t trigMsk)       { fTriggerMask = trigMsk; }
71   void SetTriggerCluster(UChar_t trigClus)     { fTriggerCluster = trigClus; }
72   void SetEventType(UInt_t evttype)            { fEventType = evttype; }
73   void SetMagneticField(Double_t magFld)       { fMagneticField = magFld; }
74   void SetMuonMagFieldScale(Double_t magFldScl){ fMuonMagFieldScale = magFldScl; }
75   
76   void SetCentrality(Double_t cent)            { fCentrality = cent; }
77   void SetZDCN1Energy(Double_t n1Energy)       { fZDCN1Energy = n1Energy; }
78   void SetZDCP1Energy(Double_t p1Energy)       { fZDCP1Energy = p1Energy; }
79   void SetZDCN2Energy(Double_t n2Energy)       { fZDCN2Energy = n2Energy; }
80   void SetZDCP2Energy(Double_t p2Energy)       { fZDCP2Energy = p2Energy; }
81   void SetZDCEMEnergy(Double_t emEnergy)       { fZDCEMEnergy = emEnergy; }
82   void SetRefMultiplicity(Int_t refMult)       { fRefMult = refMult; }
83   void SetRefMultiplicityPos(Int_t refMultPos) { fRefMultPos = refMultPos; }
84   void SetRefMultiplicityNeg(Int_t refMultNeg) { fRefMultNeg = refMultNeg; }
85   
86   void Print(Option_t* option = "") const;
87   
88   
89  private :
90   
91   Double32_t  fMagneticField;       // Solenoid Magnetic Field in kG
92   Double32_t  fMuonMagFieldScale;   // magnetic field scale of muon arm magnet
93   Double32_t  fCentrality;          // Centrality
94   Double32_t  fZDCN1Energy;         // reconstructed energy in the neutron1 ZDC
95   Double32_t  fZDCP1Energy;         // reconstructed energy in the proton1 ZDC
96   Double32_t  fZDCN2Energy;         // reconstructed energy in the neutron2 ZDC
97   Double32_t  fZDCP2Energy;         // reconstructed energy in the proton2 ZDC
98   Double32_t  fZDCEMEnergy;         // reconstructed energy in the electromagnetic ZDC
99   ULong64_t   fTriggerMask;         // Trigger Type (mask)
100   UInt_t      fEventType;           // Type of Event
101   UShort_t    fBunchCrossNumber;    // BunchCrossingNumber
102   UInt_t      fOrbitNumber;         // Orbit Number
103   UInt_t      fPeriodNumber;        // Period Number
104   Int_t       fRunNumber;           // Run Number
105   Int_t       fRefMult;             // reference multiplicity
106   Int_t       fRefMultPos;          // reference multiplicity of positive particles
107   Int_t       fRefMultNeg;          // reference multiplicity of negative particles
108   UChar_t     fTriggerCluster;      // Trigger cluster (mask)
109   
110   ClassDef(AliAODHeader,3);
111 };
112
113 #endif