fFirstEMCALCluster(-1),
fPHOSClusters(0),
fFirstPHOSCluster(-1),
- fESDFMD(0x0)
+ fESDFMD(0x0),
+ fESDVZERO(0x0)
{
for (Int_t i=0; i<24; i++) {
fT0time[i] = 0;
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];
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];
fKinks.Delete();
fCaloClusters.Delete();
delete fESDFMD;
+ delete fESDVZERO;
}
//______________________________________________________________________________
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) {
#include "AliESDCaloCluster.h"
#include "AliESDv0.h"
#include "AliESDFMD.h"
+#include "AliESDVZERO.h"
#include "AliMultiplicity.h"
class AliESDfriend;
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&);
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
--- /dev/null
+#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;
+}
+
--- /dev/null
+#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
#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+;
AliTrackPointArray.cxx \
AliESDFMD.cxx AliFMDMap.cxx AliFMDFloatMap.cxx \
AliESDMultITS.cxx \
+ AliESDVZERO.cxx \
AliMultiplicity.cxx AliXMLCollection.cxx \
AliSelector.cxx