Adding the trigger charge and bits to the ESD and AOD. They will be needed by phys...
authorcvetan <cvetan@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 12 Oct 2011 20:25:10 +0000 (20:25 +0000)
committercvetan <cvetan@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 12 Oct 2011 20:25:10 +0000 (20:25 +0000)
STEER/AOD/AliAODVZERO.cxx
STEER/AOD/AliAODVZERO.h
STEER/ESD/AliESDVZERO.cxx
STEER/ESD/AliESDVZERO.h
STEER/STEERBase/AliVVZERO.h
VZERO/AliVZEROReconstructor.cxx

index 5673d31..5204b4c 100644 (file)
@@ -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);
index b711190..0990d1b 100644 (file)
@@ -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
index 26c555e..4007033 100644 (file)
@@ -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];
index af81959..4617110 100644 (file)
@@ -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
index 07cb98d..48a0c65 100644 (file)
@@ -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
index 1919395..a53edcb 100644 (file)
@@ -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; e<nEntries; e++) {
     digitsTree->GetEvent(e);