Adding the VZERO information to the ESD
authorbelikov <belikov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 8 Dec 2006 14:54:41 +0000 (14:54 +0000)
committerbelikov <belikov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 8 Dec 2006 14:54:41 +0000 (14:54 +0000)
STEER/AliESD.cxx
STEER/AliESD.h
STEER/AliESDVZERO.cxx [new file with mode: 0644]
STEER/AliESDVZERO.h [new file with mode: 0644]
STEER/ESDLinkDef.h
STEER/libESD.pkg

index fc77fbda8400199d7b6e24f689255cb9b26b84d6..9858babfeb646bd048d8fbcadc281818f7470c7e 100644 (file)
@@ -62,7 +62,8 @@ AliESD::AliESD():
   fFirstEMCALCluster(-1),
   fPHOSClusters(0), 
   fFirstPHOSCluster(-1),
-  fESDFMD(0x0)
+  fESDFMD(0x0),
+  fESDVZERO(0x0)
 {
   for (Int_t i=0; i<24; i++) {
     fT0time[i] = 0;
@@ -105,7 +106,8 @@ AliESD::AliESD(const AliESD& esd):
   fFirstEMCALCluster(esd.fFirstEMCALCluster),
   fPHOSClusters(esd.fPHOSClusters), 
   fFirstPHOSCluster(esd.fFirstPHOSCluster),
-  fESDFMD(esd.fESDFMD)
+  fESDFMD(esd.fESDFMD),
+  fESDVZERO(esd.fESDVZERO)
 {
   for (Int_t i=0; i<24; i++) {
     fT0time[i] = esd.fT0time[i];
@@ -154,6 +156,7 @@ AliESD & AliESD::operator=(const AliESD& source) {
   fPHOSClusters = source.fPHOSClusters;
   fFirstPHOSCluster = source.fFirstPHOSCluster;
   fESDFMD = source.fESDFMD;
+  fESDVZERO = source.fESDVZERO;
 
   for (Int_t i=0; i<24; i++) {
     fT0time[i] = source.fT0time[i];
@@ -182,6 +185,7 @@ AliESD::~AliESD()
   fKinks.Delete();
   fCaloClusters.Delete();
   delete fESDFMD;
+  delete fESDVZERO;
 }
 
 //______________________________________________________________________________
@@ -264,6 +268,7 @@ void AliESD::Print(Option_t *) const
   printf("                 phos      %d\n", GetNumberOfPHOSClusters());
   printf("                 emcal     %d\n", GetNumberOfEMCALClusters());
   printf("                 FMD       %s\n", (fESDFMD ? "yes" : "no"));
+  printf("                 VZERO     %s\n", (fESDVZERO ? "yes" : "no"));
 }
 
 void AliESD::SetESDfriend(const AliESDfriend *ev) {
index 0b365dbb6f2eb6f950dc192003e4adc14bcc741e..cee3b1e4a21ae36403aee268856a037c5e7cf591 100644 (file)
@@ -28,6 +28,7 @@
 #include "AliESDCaloCluster.h"
 #include "AliESDv0.h"
 #include "AliESDFMD.h"
+#include "AliESDVZERO.h"
 #include "AliMultiplicity.h"
 
 class AliESDfriend;
@@ -193,11 +194,11 @@ public:
 
   void  Print(Option_t *option="") const;
 
-  void SetFMDData(AliESDFMD * obj) {
-    fESDFMD = new AliESDFMD(*obj);
-  }
-
-  AliESDFMD * GetFMDData(){ return fESDFMD;}
+  void SetFMDData(AliESDFMD * obj) { fESDFMD = new AliESDFMD(*obj); }
+  AliESDFMD *GetFMDData(){ return fESDFMD; }
+   
+  void SetVZEROData(AliESDVZERO * obj) { fESDVZERO = new AliESDVZERO(*obj); }
+  AliESDVZERO *GetVZEROData(){ return fESDVZERO; }
    
 protected:
   AliESD(const AliESD&);
@@ -245,9 +246,10 @@ protected:
   Int_t        fPHOSClusters;     // Number of PHOS clusters (subset of caloclusters)
   Int_t        fFirstPHOSCluster; // First PHOS cluster in the fCaloClusters list 
  
-  AliESDFMD *  fESDFMD; // FMD object containing rough multiplicity
+  AliESDFMD   *fESDFMD;   // FMD object containing rough multiplicity
+  AliESDVZERO *fESDVZERO; // VZERO object containing rough multiplicity
 
-  ClassDef(AliESD,15)  //ESD class 
+  ClassDef(AliESD,16)  //ESD class 
 };
 #endif 
 
diff --git a/STEER/AliESDVZERO.cxx b/STEER/AliESDVZERO.cxx
new file mode 100644 (file)
index 0000000..163a3e9
--- /dev/null
@@ -0,0 +1,57 @@
+#include "AliESDVZERO.h"
+
+ClassImp(AliESDVZERO)
+
+AliESDVZERO::AliESDVZERO():TObject(),
+   fNbPMV0A(0),
+   fNbPMV0C(0),
+   fMTotV0A(0),
+   fMTotV0C(0)
+{   
+   // Default constructor 
+   for(Int_t j=0; j<4; j++){ 
+       fMRingV0A[j] = 0;
+       fMRingV0C[j] = 0;   }
+}
+
+AliESDVZERO::AliESDVZERO(const AliESDVZERO &o):TObject(o),
+   fNbPMV0A(o.fNbPMV0A),
+   fNbPMV0C(o.fNbPMV0C),
+   fMTotV0A(o.fMTotV0A),
+   fMTotV0C(o.fMTotV0C)
+{   
+   // Default constructor 
+   for(Int_t j=0; j<4; j++){ 
+       fMRingV0A[j] = o.fMRingV0A[j];
+       fMRingV0C[j] = o.fMRingV0C[j];   }
+}
+
+AliESDVZERO::AliESDVZERO(Int_t NbPMV0A, Int_t NbPMV0C, Int_t MTotV0A ,
+             Int_t MTotV0C, Int_t* MRingV0A, Int_t* MRingV0C) :TObject(),
+   fNbPMV0A(NbPMV0A),
+   fNbPMV0C(NbPMV0C),
+   fMTotV0A(MTotV0A),
+   fMTotV0C(MTotV0C)
+
+{
+   // Constructor
+   for(Int_t j=0; j<4; j++){ 
+       fMRingV0A[j] = MRingV0A[j];
+       fMRingV0C[j] = MRingV0C[j]; }   
+}
+
+AliESDVZERO& AliESDVZERO::operator=(const AliESDVZERO& o)
+{
+  // Assignment operator
+  fNbPMV0A=o.fNbPMV0A;
+  fNbPMV0C=o.fNbPMV0C;
+  fMTotV0A=o.fMTotV0A;
+  fMTotV0C=o.fMTotV0C;
+
+  for(Int_t j=0; j<4; j++){ 
+      fMRingV0A[j] = o.fMRingV0A[j];
+      fMRingV0C[j] = o.fMRingV0C[j];   }
+
+  return *this;
+}
+
diff --git a/STEER/AliESDVZERO.h b/STEER/AliESDVZERO.h
new file mode 100644 (file)
index 0000000..fa694c8
--- /dev/null
@@ -0,0 +1,46 @@
+#ifndef AliESDVZERO_H
+#define AliESDVZERO_H
+
+#include <TObject.h>
+
+class AliESDVZERO : public TObject 
+{
+public:
+  AliESDVZERO();
+  AliESDVZERO(const AliESDVZERO&);
+  AliESDVZERO(Int_t NbPMV0A, Int_t NbPMV0C, Int_t MTotV0A, Int_t MTotV0C, 
+              Int_t *MRingV0A, Int_t *MRingV0C);
+  virtual ~AliESDVZERO() {};
+  
+// Setters
+  virtual void  SetNbPMV0A(Int_t NbPMV0A)  {fNbPMV0A = NbPMV0A;}
+  virtual void  SetNbPMV0C(Int_t NbPMV0C)  {fNbPMV0C = NbPMV0C;}
+  virtual void  SetMTotV0A(Int_t MTotV0A)  {fMTotV0A = MTotV0A;}
+  virtual void  SetMTotV0C(Int_t MTotV0C)  {fMTotV0C = MTotV0C;}                                             
+  virtual void  SetMRingV0A(Int_t MRingV0A[4]){for(Int_t j=0; j<4; j++){  
+                                                fMRingV0A[j] = MRingV0A[j];} }
+  virtual void  SetMRingV0C(Int_t MRingV0C[4]){for(Int_t j=0; j<4; j++){  
+                                                fMRingV0C[j] = MRingV0C[j];} }
+  
+// Getters  
+  Int_t GetNbPMV0A()  const {return fNbPMV0A;}
+  Int_t GetNbPMV0C()  const {return fNbPMV0C;}
+  Int_t GetMTotV0A()  const {return fMTotV0A;}
+  Int_t GetMTotV0C()  const {return fMTotV0C;}
+  Int_t* GetMRingV0A() const {return (int*) fMRingV0A;}
+  Int_t* GetMRingV0C() const {return (int*) fMRingV0C;}
+
+  AliESDVZERO &operator=(const AliESDVZERO& source);
+    
+protected:
+  Int_t fNbPMV0A;     // Number of PMs fired in V0A - out of 32
+  Int_t fNbPMV0C;     // Number of PMs fired in V0C - out of 32
+  Int_t fMTotV0A;     // Total multiplicity in V0A
+  Int_t fMTotV0C;     // Total multiplicity in V0C
+  Int_t fMRingV0A[4]; // Multiplicity per ring in V0A - 4 rings
+  Int_t fMRingV0C[4]; // Multiplicity per ring in V0C - 4 rings
+
+  ClassDef(AliESDVZERO,1)
+};
+
+#endif
index b8088ef102a58b62b575b41cede1557fddf4bcd7..b6191be6b2fc46300f6af554417f2b7739fb80cb 100644 (file)
@@ -52,6 +52,8 @@
 #pragma link C++ class  AliFMDMap+;
 #pragma link C++ class  AliFMDFloatMap+;
 
+#pragma link C++ class  AliESDVZERO+;
+
 #pragma link C++ class  AliESDMultITS+;
 #pragma link C++ class  AliMultiplicity+;
 
index 7e34ff6cb67fc7168e092783d4f4bc8b03df4644..d3ba31ceeda02df964f974ab4790dacd9a099810 100644 (file)
@@ -11,6 +11,7 @@ SRCS = AliESD.cxx AliESDfriend.cxx\
        AliTrackPointArray.cxx \
        AliESDFMD.cxx AliFMDMap.cxx AliFMDFloatMap.cxx \
        AliESDMultITS.cxx \
+       AliESDVZERO.cxx \
        AliMultiplicity.cxx AliXMLCollection.cxx \
        AliSelector.cxx