From dd735cf09b10692704e03dc734f01c5cd607f9da Mon Sep 17 00:00:00 2001 From: belikov Date: Fri, 8 Dec 2006 14:54:41 +0000 Subject: [PATCH] Adding the VZERO information to the ESD --- STEER/AliESD.cxx | 9 +++++-- STEER/AliESD.h | 16 ++++++------ STEER/AliESDVZERO.cxx | 57 +++++++++++++++++++++++++++++++++++++++++++ STEER/AliESDVZERO.h | 46 ++++++++++++++++++++++++++++++++++ STEER/ESDLinkDef.h | 2 ++ STEER/libESD.pkg | 1 + 6 files changed, 122 insertions(+), 9 deletions(-) create mode 100644 STEER/AliESDVZERO.cxx create mode 100644 STEER/AliESDVZERO.h diff --git a/STEER/AliESD.cxx b/STEER/AliESD.cxx index fc77fbda840..9858babfeb6 100644 --- a/STEER/AliESD.cxx +++ b/STEER/AliESD.cxx @@ -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) { diff --git a/STEER/AliESD.h b/STEER/AliESD.h index 0b365dbb6f2..cee3b1e4a21 100644 --- a/STEER/AliESD.h +++ b/STEER/AliESD.h @@ -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 index 00000000000..163a3e9e5c8 --- /dev/null +++ b/STEER/AliESDVZERO.cxx @@ -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 index 00000000000..fa694c8b338 --- /dev/null +++ b/STEER/AliESDVZERO.h @@ -0,0 +1,46 @@ +#ifndef AliESDVZERO_H +#define AliESDVZERO_H + +#include + +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 diff --git a/STEER/ESDLinkDef.h b/STEER/ESDLinkDef.h index b8088ef102a..b6191be6b2f 100644 --- a/STEER/ESDLinkDef.h +++ b/STEER/ESDLinkDef.h @@ -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+; diff --git a/STEER/libESD.pkg b/STEER/libESD.pkg index 7e34ff6cb67..d3ba31ceeda 100644 --- a/STEER/libESD.pkg +++ b/STEER/libESD.pkg @@ -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 -- 2.43.0