From: cvetan Date: Wed, 12 Oct 2011 20:25:10 +0000 (+0000) Subject: Adding the trigger charge and bits to the ESD and AOD. They will be needed by phys... X-Git-Url: http://git.uio.no/git/?p=u%2Fmrichter%2FAliRoot.git;a=commitdiff_plain;h=18b2dabfc4f365c327c6de21515152c2af60d40b Adding the trigger charge and bits to the ESD and AOD. They will be needed by phys sel, EMCAL analysis and any trigger related studies in pb-pb. --- diff --git a/STEER/AOD/AliAODVZERO.cxx b/STEER/AOD/AliAODVZERO.cxx index 5673d31fa56..5204b4ce555 100644 --- a/STEER/AOD/AliAODVZERO.cxx +++ b/STEER/AOD/AliAODVZERO.cxx @@ -34,7 +34,10 @@ AliAODVZERO::AliAODVZERO() fV0ATime(-1024), fV0CTime(-1024), fV0ADecision(kV0Invalid), - fV0CDecision(kV0Invalid) + fV0CDecision(kV0Invalid), + fTriggerChargeA(0), + fTriggerChargeC(0), + fTriggerBits(0) { // Default constructor for(Int_t j=0; j<64; j++){ @@ -54,7 +57,10 @@ AliAODVZERO::AliAODVZERO(const AliAODVZERO &source) fV0ATime(source.fV0ATime), fV0CTime(source.fV0CTime), fV0ADecision(source.fV0ADecision), - fV0CDecision(source.fV0CDecision) + fV0CDecision(source.fV0CDecision), + fTriggerChargeA(source.fTriggerChargeA), + fTriggerChargeC(source.fTriggerChargeC), + fTriggerBits(source.fTriggerBits) { // Default constructor for(Int_t j=0; j<64; j++) { @@ -74,7 +80,10 @@ AliAODVZERO::AliAODVZERO(const AliVVZERO &source) fV0ATime(source.GetV0ATime()), fV0CTime(source.GetV0CTime()), fV0ADecision(source.GetV0ADecision()), - fV0CDecision(source.GetV0CDecision()) + fV0CDecision(source.GetV0CDecision()), + fTriggerChargeA(source.GetTriggerChargeA()), + fTriggerChargeC(source.GetTriggerChargeC()), + fTriggerBits(source.GetTriggerBits()) { // Default constructor for(Int_t j=0; j<64; j++) { @@ -108,6 +117,9 @@ AliAODVZERO& AliAODVZERO::operator=(const AliAODVZERO& source) fV0CTime = source.fV0CTime; fV0ADecision = source.fV0ADecision; fV0CDecision = source.fV0CDecision; + fTriggerChargeA = source.fTriggerChargeA; + fTriggerChargeC = source.fTriggerChargeC; + fTriggerBits = source.fTriggerBits; for(Int_t j=0; j<64; j++) { fMultiplicity[j] = source.fMultiplicity[j]; @@ -129,6 +141,9 @@ AliAODVZERO& AliAODVZERO::operator=(const AliVVZERO& source) fV0CTime = source.GetV0CTime(); fV0ADecision = source.GetV0ADecision(); fV0CDecision = source.GetV0CDecision(); + fTriggerChargeA = source.GetTriggerChargeA(); + fTriggerChargeC = source.GetTriggerChargeC(); + fTriggerBits = source.GetTriggerBits(); for(Int_t j=0; j<64; j++) { fMultiplicity[j] = source.GetMultiplicity(j); diff --git a/STEER/AOD/AliAODVZERO.h b/STEER/AOD/AliAODVZERO.h index b7111906999..0990d1b2237 100644 --- a/STEER/AOD/AliAODVZERO.h +++ b/STEER/AOD/AliAODVZERO.h @@ -47,6 +47,10 @@ public: virtual Decision GetV0ADecision() const { return fV0ADecision; } virtual Decision GetV0CDecision() const { return fV0CDecision; } + + virtual UShort_t GetTriggerChargeA() const { return fTriggerChargeA; } + virtual UShort_t GetTriggerChargeC() const { return fTriggerChargeC; } + virtual UShort_t GetTriggerBits() const { return fTriggerBits; } protected: @@ -66,7 +70,11 @@ protected: Decision fV0ADecision; // V0A final decision based on average time of channels Decision fV0CDecision; // V0C final decision based on average time of channels - ClassDef(AliAODVZERO,1) + UShort_t fTriggerChargeA; // Sum of the trigger (clock=10) charge on A side + UShort_t fTriggerChargeC; // Sum of the trigger (clock=10) charge on C side + UShort_t fTriggerBits; // V0 trigger bits as defined in the firmware + + ClassDef(AliAODVZERO,2) }; #endif diff --git a/STEER/ESD/AliESDVZERO.cxx b/STEER/ESD/AliESDVZERO.cxx index 26c555eaf0c..4007033ace6 100644 --- a/STEER/ESD/AliESDVZERO.cxx +++ b/STEER/ESD/AliESDVZERO.cxx @@ -35,7 +35,10 @@ AliESDVZERO::AliESDVZERO() fV0ATimeError(0), fV0CTimeError(0), fV0ADecision(kV0Invalid), - fV0CDecision(kV0Invalid) + fV0CDecision(kV0Invalid), + fTriggerChargeA(0), + fTriggerChargeC(0), + fTriggerBits(0) { // Default constructor for(Int_t j=0; j<64; j++){ @@ -60,7 +63,10 @@ AliESDVZERO::AliESDVZERO(const AliESDVZERO &o) fV0ATimeError(o.fV0ATimeError), fV0CTimeError(o.fV0CTimeError), fV0ADecision(o.fV0ADecision), - fV0CDecision(o.fV0CDecision) + fV0CDecision(o.fV0CDecision), + fTriggerChargeA(o.fTriggerChargeA), + fTriggerChargeC(o.fTriggerChargeC), + fTriggerBits(o.fTriggerBits) { // Default constructor for(Int_t j=0; j<64; j++) { @@ -88,7 +94,10 @@ AliESDVZERO::AliESDVZERO(UInt_t BBtriggerV0A, UInt_t BGtriggerV0A, fV0ATimeError(0), fV0CTimeError(0), fV0ADecision(kV0Invalid), - fV0CDecision(kV0Invalid) + fV0CDecision(kV0Invalid), + fTriggerChargeA(0), + fTriggerChargeC(0), + fTriggerBits(0) { // Constructor for(Int_t j=0; j<64; j++) { @@ -119,6 +128,9 @@ AliESDVZERO& AliESDVZERO::operator=(const AliESDVZERO& o) fV0CTimeError = o.fV0CTimeError; fV0ADecision = o.fV0ADecision; fV0CDecision = o.fV0CDecision; + fTriggerChargeA = o.fTriggerChargeA; + fTriggerChargeC = o.fTriggerChargeC; + fTriggerBits = o.fTriggerBits; for(Int_t j=0; j<64; j++) { fMultiplicity[j] = o.fMultiplicity[j]; diff --git a/STEER/ESD/AliESDVZERO.h b/STEER/ESD/AliESDVZERO.h index af81959d54e..46171103e5e 100644 --- a/STEER/ESD/AliESDVZERO.h +++ b/STEER/ESD/AliESDVZERO.h @@ -46,7 +46,11 @@ public: void SetV0ADecision(Decision des) {fV0ADecision = des;} void SetV0CDecision(Decision des) {fV0CDecision = des;} - + + void SetTriggerChargeA(UShort_t chargeA) {fTriggerChargeA = chargeA;} + void SetTriggerChargeC(UShort_t chargeC) {fTriggerChargeC = chargeC;} + void SetTriggerBits(UShort_t triggerBits) {fTriggerBits = triggerBits;} + // Getters virtual Short_t GetNbPMV0A() const; virtual Short_t GetNbPMV0C() const; @@ -81,6 +85,10 @@ public: virtual Decision GetV0ADecision() const { return fV0ADecision; } virtual Decision GetV0CDecision() const { return fV0CDecision; } + + virtual UShort_t GetTriggerChargeA() const { return fTriggerChargeA; } + virtual UShort_t GetTriggerChargeC() const { return fTriggerChargeC; } + virtual UShort_t GetTriggerBits() const { return fTriggerBits; } AliESDVZERO &operator=(const AliESDVZERO& source); @@ -106,7 +114,11 @@ protected: Decision fV0ADecision; // V0A final decision based on average time of channels Decision fV0CDecision; // V0C final decision based on average time of channels - ClassDef(AliESDVZERO,9) + UShort_t fTriggerChargeA; // Sum of the trigger (clock=10) charge on A side + UShort_t fTriggerChargeC; // Sum of the trigger (clock=10) charge on C side + UShort_t fTriggerBits; // V0 trigger bits as defined in the firmware + + ClassDef(AliESDVZERO,10) }; #endif diff --git a/STEER/STEERBase/AliVVZERO.h b/STEER/STEERBase/AliVVZERO.h index 07cb98d089b..48a0c65b79f 100644 --- a/STEER/STEERBase/AliVVZERO.h +++ b/STEER/STEERBase/AliVVZERO.h @@ -24,7 +24,8 @@ public: kDecisionFilled = BIT(16), kOnlineBitsFilled = BIT(17), kCorrectedForSaturation = BIT(18), - kRobustMeanTime = BIT(19) + kRobustMeanTime = BIT(19), + kTriggerChargeBitsFilled = BIT(20) }; enum Decision { kV0Invalid = -1, kV0Empty = 0, kV0BB, kV0BG, kV0Fake }; @@ -52,11 +53,15 @@ public: virtual Decision GetV0ADecision() const = 0; virtual Decision GetV0CDecision() const = 0; + virtual UShort_t GetTriggerChargeA() const = 0; + virtual UShort_t GetTriggerChargeC() const = 0; + virtual UShort_t GetTriggerBits() const = 0; + protected: Bool_t OutOfRange(Int_t i, const char *s, Int_t upper) const; - ClassDef(AliVVZERO,1) + ClassDef(AliVVZERO,2) }; #endif diff --git a/VZERO/AliVZEROReconstructor.cxx b/VZERO/AliVZEROReconstructor.cxx index 191939521bd..a53edcb6d08 100644 --- a/VZERO/AliVZEROReconstructor.cxx +++ b/VZERO/AliVZEROReconstructor.cxx @@ -346,6 +346,11 @@ void AliVZEROReconstructor::FillESD(TTree* digitsTree, TTree* /*clustersTree*/, AliWarning("V0C trigger charge not found in digits tree UserInfo!"); } + fESDVZERO->SetTriggerChargeA(chargeA); + fESDVZERO->SetTriggerChargeC(chargeC); + fESDVZERO->SetTriggerBits(triggerInputs); + fESDVZERO->SetBit(AliESDVZERO::kTriggerChargeBitsFilled,kTRUE); + Int_t nEntries = (Int_t)digitsTree->GetEntries(); for (Int_t e=0; eGetEvent(e);