From: morsch Date: Thu, 23 Jun 2011 20:51:32 +0000 (+0000) Subject: AODZDC introduced. X-Git-Url: http://git.uio.no/git/?a=commitdiff_plain;h=16d867eb6d4d15fc2200fae5bc7875eed35db001;p=u%2Fmrichter%2FAliRoot.git AODZDC introduced. Ch. Oppedisano --- diff --git a/STEER/AliAODEvent.cxx b/STEER/AliAODEvent.cxx index b1a6bc77ad6..65dbf72e3e0 100644 --- a/STEER/AliAODEvent.cxx +++ b/STEER/AliAODEvent.cxx @@ -48,7 +48,8 @@ ClassImp(AliAODEvent) "fmdClusters", "pmdClusters", "dimuons", - "AliAODVZERO" + "AliAODVZERO", + "AliAODZDC" }; //______________________________________________________________________________ @@ -70,7 +71,8 @@ AliAODEvent::AliAODEvent() : fFmdClusters(0), fPmdClusters(0), fDimuons(0), - fAODVZERO(0) + fAODVZERO(0), + fAODZDC(0) { // default constructor } @@ -94,7 +96,8 @@ AliAODEvent::AliAODEvent(const AliAODEvent& aod): fFmdClusters(new TClonesArray(*aod.fFmdClusters)), fPmdClusters(new TClonesArray(*aod.fPmdClusters)), fDimuons(new TClonesArray(*aod.fDimuons)), - fAODVZERO(new AliAODVZERO(*aod.fAODVZERO)) + fAODVZERO(new AliAODVZERO(*aod.fAODVZERO)), + fAODZDC(new AliAODZDC(*aod.fAODZDC)) { // Copy constructor AddObject(fHeader); @@ -111,6 +114,7 @@ AliAODEvent::AliAODEvent(const AliAODEvent& aod): AddObject(fPmdClusters); AddObject(fDimuons); AddObject(fAODVZERO); + AddObject(fAODZDC); fConnected = aod.fConnected; GetStdContent(); CreateStdFolders(); @@ -269,6 +273,7 @@ void AliAODEvent::CreateStdContent() AddObject(new TClonesArray("AliAODPmdCluster", 0)); AddObject(new TClonesArray("AliAODDimuon", 0)); AddObject(new AliAODVZERO()); + AddObject(new AliAODZDC()); // set names SetStdNames(); @@ -353,6 +358,7 @@ void AliAODEvent::GetStdContent() fPmdClusters = (TClonesArray*)fAODObjects->FindObject("pmdClusters"); fDimuons = (TClonesArray*)fAODObjects->FindObject("dimuons"); fAODVZERO = (AliAODVZERO*)fAODObjects->FindObject("AliAODVZERO"); + fAODZDC = (AliAODZDC*)fAODObjects->FindObject("AliAODZDC"); } //______________________________________________________________________________ diff --git a/STEER/AliAODEvent.h b/STEER/AliAODEvent.h index 6c5aa4af962..fe36ca9662a 100644 --- a/STEER/AliAODEvent.h +++ b/STEER/AliAODEvent.h @@ -31,6 +31,7 @@ #include "AliAODFmdCluster.h" #include "AliAODDimuon.h" #include "AliAODVZERO.h" +#include "AliAODZDC.h" class TTree; class TFolder; @@ -54,6 +55,7 @@ class AliAODEvent : public AliVEvent { kAODPmdClusters, kAODDimuons, kAODVZERO, + kAODZDC, kAODListN }; @@ -244,6 +246,9 @@ class AliAODEvent : public AliVEvent { // VZERO AliAODVZERO *GetVZEROData() const { return fAODVZERO; } + //ZDC + AliAODZDC *GetZDCData() const { return fAODZDC; } + private : TList *fAODObjects; // list of AODObjects @@ -264,10 +269,11 @@ class AliAODEvent : public AliVEvent { TClonesArray *fPmdClusters; //! PMDclusters TClonesArray *fDimuons; //! dimuons AliAODVZERO *fAODVZERO; //! VZERO AOD - + AliAODZDC *fAODZDC; //! ZDC AOD + static const char* fAODListName[kAODListN]; //! - ClassDef(AliAODEvent, 7); + ClassDef(AliAODEvent,87); }; #endif diff --git a/STEER/AliESDEvent.h b/STEER/AliESDEvent.h index d973a840b85..7960ec5198c 100644 --- a/STEER/AliESDEvent.h +++ b/STEER/AliESDEvent.h @@ -182,7 +182,9 @@ public: UChar_t GetTriggerCluster() const {return fHeader?fHeader->GetTriggerCluster():0;} // ZDC CKB: put this in the header? - AliESDZDC* GetESDZDC() const {return fESDZDC;} + AliESDZDC* GetESDZDC() const {return fESDZDC;} + AliESDZDC* GetZDCData() const {return fESDZDC;} + void SetZDCData(AliESDZDC * obj); // Delegated methods for fESDZDC diff --git a/STEER/AliESDZDC.cxx b/STEER/AliESDZDC.cxx index 0cf0ac711d9..203e493d397 100644 --- a/STEER/AliESDZDC.cxx +++ b/STEER/AliESDZDC.cxx @@ -29,7 +29,7 @@ ClassImp(AliESDZDC) //______________________________________________________________________________ AliESDZDC::AliESDZDC() : - TObject(), + AliVZDC(), fZDCN1Energy(0), fZDCP1Energy(0), fZDCN2Energy(0), @@ -64,7 +64,7 @@ AliESDZDC::AliESDZDC() : //______________________________________________________________________________ AliESDZDC::AliESDZDC(const AliESDZDC& zdc) : - TObject(zdc), + AliVZDC(zdc), fZDCN1Energy(zdc.fZDCN1Energy), fZDCP1Energy(zdc.fZDCP1Energy), fZDCN2Energy(zdc.fZDCN2Energy), @@ -108,7 +108,7 @@ AliESDZDC& AliESDZDC::operator=(const AliESDZDC&zdc) { // assigment operator if(this!=&zdc) { - TObject::operator=(zdc); + AliVZDC::operator=(zdc); fZDCN1Energy = zdc.fZDCN1Energy; fZDCP1Energy = zdc.fZDCP1Energy; fZDCN2Energy = zdc.fZDCN2Energy; @@ -204,20 +204,26 @@ void AliESDZDC::Reset() void AliESDZDC::Print(const Option_t *) const { // Print ESD for the ZDC - printf("\n \t E_{ZNC} = %f TeV, E_{ZPC} = %f TeV, E_{ZNA} = %f TeV, E_{ZPA} = %f TeV," - " E_{ZEM} = %f GeV, Npart = %d, b = %1.2f fm\n", - fZDCN1Energy/1000.,fZDCP1Energy/1000.,fZDCN2Energy/1000.,fZDCP2Energy/1000., - fZDCEMEnergy+fZDCEMEnergy1, fZDCParticipants,fImpactParameter); + printf(" ### ZDC energies: \n"); + printf("\n \t E_ZNC = %1.2f (%1.2f+%1.2f+%1.2f+%1.2f+%1.2f) GeV \n \t E_ZNA = %1.2f (%1.2f+%1.2f+%1.2f+%1.2f+%1.2f) GeV\n" + " \t E_ZPC = %1.2f GeV E_ZPA = %1.2f GeV" + "\n E_ZEM1 = %1.2f GeV, E_ZEM2 = %1.2f GeV\n \t Npart = %d, b = %1.2f fm\n", + fZDCN1Energy, fZN1TowerEnergy[0], fZN1TowerEnergy[1], + fZN1TowerEnergy[2], fZN1TowerEnergy[3], fZN1TowerEnergy[4], + fZDCN2Energy,fZN2TowerEnergy[0], fZN2TowerEnergy[1], + fZN2TowerEnergy[2], fZN2TowerEnergy[3], fZN2TowerEnergy[4], + fZDCP1Energy,fZDCP2Energy, fZDCEMEnergy, fZDCEMEnergy1, + fZDCParticipants,fImpactParameter); // - printf(" ### VMEScaler (!=0): \n"); + /*printf(" ### VMEScaler (!=0): \n"); for(Int_t i=0; i<32; i++) if(fVMEScaler[i]!=0) printf("\t %d \n",fVMEScaler[i]); printf("\n"); // printf(" ### TDCData (!=0): \n"); for(Int_t i=0; i<32; i++){ for(Int_t j=0; j<4; j++) - if(fZDCTDCCorrected[i][j]!=0) printf("\t %1.0f \n",fZDCTDCCorrected[i][j]); - } + if(TMath::Abs(fZDCTDCCorrected[i][j])>1e-4) printf("\t %1.0f \n",fZDCTDCCorrected[i][j]); + }*/ printf("\n"); } diff --git a/STEER/AliESDZDC.h b/STEER/AliESDZDC.h index 0e1484fc540..c39d98ed482 100644 --- a/STEER/AliESDZDC.h +++ b/STEER/AliESDZDC.h @@ -13,20 +13,40 @@ // *** Scaler format: 32 floats from VME scaler *** //------------------------------------------------------------------------- -#include +#include -class AliESDZDC: public TObject { -public: - - enum { - kCorrectedTDCFilled = BIT(14), - kEnergyCalibratedSignal = BIT(15) - }; +class AliESDZDC: public AliVZDC { +public: AliESDZDC(); AliESDZDC(const AliESDZDC& zdc); AliESDZDC& operator=(const AliESDZDC& zdc); - virtual void Copy(TObject &obj) const; + + + // Getters + + virtual Short_t GetZDCParticipants() const {return fZDCParticipants;} + virtual Short_t GetZDCPartSideA() const {return fZDCPartSideA;} + virtual Short_t GetZDCPartSideC() const {return fZDCPartSideC;} + virtual Double_t GetImpactParameter() const {return fImpactParameter;} + virtual Double_t GetImpactParamSideA() const {return fImpactParamSideA;} + virtual Double_t GetImpactParamSideC() const {return fImpactParamSideC;} + + virtual Double_t GetZNCEnergy() const {return (Double_t) fZDCN1Energy;} + virtual Double_t GetZPCEnergy() const {return (Double_t) fZDCP1Energy;} + virtual Double_t GetZNAEnergy() const {return (Double_t) fZDCN2Energy;} + virtual Double_t GetZPAEnergy() const {return (Double_t) fZDCP2Energy;} + virtual Double_t GetZEM1Energy() const {return (Double_t) fZDCEMEnergy;} + virtual Double_t GetZEM2Energy() const {return (Double_t) fZDCEMEnergy1;} + + virtual const Double_t *GetZNCTowerEnergy() const {return fZN1TowerEnergy;} + virtual const Double_t *GetZNATowerEnergy() const {return fZN2TowerEnergy;} + virtual const Double_t *GetZPCTowerEnergy() const {return fZP1TowerEnergy;} + virtual const Double_t *GetZPATowerEnergy() const {return fZP2TowerEnergy;} + virtual const Double_t *GetZNCTowerEnergyLR() const {return fZN1TowerEnergyLR;} + virtual const Double_t *GetZNATowerEnergyLR() const {return fZN2TowerEnergyLR;} + const Double_t *GetZPCTowerEnergyLR() const {return fZP1TowerEnergyLR;} + const Double_t *GetZPATowerEnergyLR() const {return fZP2TowerEnergyLR;} UInt_t GetESDQuality() const {return fESDQuality;} Double_t GetZDCN1Energy() const {return fZDCN1Energy;} @@ -36,12 +56,7 @@ public: Double_t GetZDCEMEnergy(Int_t i) const {if(i==0){return fZDCEMEnergy;} else if(i==1){return fZDCEMEnergy1;} return 0;} - Short_t GetZDCParticipants() const {return fZDCParticipants;} - Short_t GetZDCPartSideA() const {return fZDCPartSideA;} - Short_t GetZDCPartSideC() const {return fZDCPartSideC;} - Double_t GetImpactParameter() const {return fImpactParameter;} - Double_t GetImpactParamSideA() const {return fImpactParamSideA;} - Double_t GetImpactParamSideC() const {return fImpactParamSideC;} + const Double_t * GetZN1TowerEnergy() const {return fZN1TowerEnergy;} const Double_t * GetZN2TowerEnergy() const {return fZN2TowerEnergy;} const Double_t * GetZP1TowerEnergy() const {return fZP1TowerEnergy;} @@ -51,8 +66,8 @@ public: const Double_t * GetZP1TowerEnergyLR() const {return fZP1TowerEnergyLR;} const Double_t * GetZP2TowerEnergyLR() const {return fZP2TowerEnergyLR;} // - Bool_t GetZNCentroidInPbPb(Float_t beamEne, Double_t centrZNC[2], Double_t centrZNA[2]); - Bool_t GetZNCentroidInpp(Double_t centrZNC[2], Double_t centrZNA[2]); + virtual Bool_t GetZNCentroidInPbPb(Float_t beamEne, Double_t centrZNC[2], Double_t centrZNA[2]); + virtual Bool_t GetZNCentroidInpp(Double_t centrZNC[2], Double_t centrZNA[2]); // UInt_t GetZDCScaler(Int_t i) const {return fVMEScaler[i];} @@ -62,13 +77,21 @@ public: Float_t GetZDCTDCCorrected(Int_t i, Int_t j) const {if(AliESDZDC::kCorrectedTDCFilled) return fZDCTDCCorrected[i][j]; else return 0.;} + Float_t GetZNTDCSum(Int_t ihit) const - {if(ihit<4 && AliESDZDC::kCorrectedTDCFilled) return (Float_t) (fZDCTDCCorrected[10][ihit]+fZDCTDCCorrected[12][ihit]); - else return 0.;} + {if(ihit<4 && AliESDZDC::kCorrectedTDCFilled) return (Float_t) (fZDCTDCCorrected[10][ihit]+fZDCTDCCorrected[12][ihit]); + else return 0.;} Float_t GetZNTDCDiff(Int_t ihit) const {if(ihit<4 && AliESDZDC::kCorrectedTDCFilled) return (Float_t) (fZDCTDCCorrected[12][ihit]-fZDCTDCCorrected[10][ihit]); else return 0.;} + virtual Float_t GetZDCTimeSum() const + {if(AliESDZDC::kCorrectedTDCFilled) return (Float_t) (fZDCTDCCorrected[10][0]+fZDCTDCCorrected[12][0]); + else return 0.;} + virtual Float_t GetZDCTimeDiff() const + {if(AliESDZDC::kCorrectedTDCFilled) return (Float_t) (fZDCTDCCorrected[12][0]-fZDCTDCCorrected[10][0]); + else return 0.;} + void SetZDC(Double_t n1Energy, Double_t p1Energy, Double_t emEnergy0, Double_t emEnergy1, Double_t n2Energy, Double_t p2Energy, @@ -115,7 +138,8 @@ public: void Reset(); void Print(const Option_t *opt=0) const; - +private: + virtual void Copy(TObject &obj) const; private: Double32_t fZDCN1Energy; // reconstructed energy in the neutron ZDC @@ -145,7 +169,7 @@ private: Int_t fZDCTDCData[32][4]; // ZDC TDC data Float_t fZDCTDCCorrected[32][4];// ZDC TDC data in ns corrected 4 phase shift - ClassDef(AliESDZDC,16) + ClassDef(AliESDZDC,17) }; #endif diff --git a/STEER/AliMCEvent.h b/STEER/AliMCEvent.h index c786dfa6aa6..3e4aa2a511d 100644 --- a/STEER/AliMCEvent.h +++ b/STEER/AliMCEvent.h @@ -140,6 +140,7 @@ public: AliEventplane* GetEventplane() {return 0;} virtual AliVVZERO *GetVZEROData() const {return 0;} + virtual AliVZDC *GetZDCData() const {return 0;} private: virtual void ReorderAndExpandTreeTR(); diff --git a/STEER/AliMixedEvent.h b/STEER/AliMixedEvent.h index 8fe4857bc0e..e235521b871 100644 --- a/STEER/AliMixedEvent.h +++ b/STEER/AliMixedEvent.h @@ -117,6 +117,7 @@ public: virtual Bool_t ComputeVtx(const TObjArray *vertices, Double_t *pos,Double_t *sig,Int_t *nContributors); // VZERO virtual AliVVZERO *GetVZEROData() const {return 0;} + virtual AliVZDC *GetZDCData() const {return 0;} private: TList fEventList; //! List of Events Int_t fNEvents; //! Number of Events diff --git a/STEER/AliVEvent.h b/STEER/AliVEvent.h index a98935d7574..2e0bfe76440 100644 --- a/STEER/AliVEvent.h +++ b/STEER/AliVEvent.h @@ -25,6 +25,7 @@ class AliCentrality; class AliEventplane; class AliVVZERO; +class AliVZDC; class AliVEvent : public TObject { @@ -145,7 +146,8 @@ public: virtual Int_t EventIndexForPHOSCell(Int_t icell) const = 0; virtual Int_t EventIndexForEMCALCell(Int_t icell) const = 0; - virtual AliVVZERO *GetVZEROData() const = 0; + virtual AliVVZERO *GetVZEROData() const = 0; + virtual AliVZDC *GetZDCData() const = 0; ClassDef(AliVEvent,1) // base class for AliEvent data };