Skip to content

Commit

Permalink
ALIROOT-5964 Improvement of AOD stored for the ZDC as requested by ma…
Browse files Browse the repository at this point in the history
…ny analyses
  • Loading branch information
hristov authored and hristov committed Apr 29, 2015
1 parent 8df384b commit 3928aa0
Show file tree
Hide file tree
Showing 10 changed files with 318 additions and 209 deletions.
36 changes: 32 additions & 4 deletions ANALYSIS/ESDfilter/AliAnalysisTaskESDfilter.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -1965,22 +1965,50 @@ void AliAnalysisTaskESDfilter::ConvertZDC(const AliESDEvent& esd)
const Double_t *towZPA = esdZDC->GetZPATowerEnergy();
const Double_t *towZNCLG = esdZDC->GetZNCTowerEnergyLR();
const Double_t *towZNALG = esdZDC->GetZNATowerEnergyLR();
const Double_t *towZPCLG = esdZDC->GetZPCTowerEnergyLR();
const Double_t *towZPALG = esdZDC->GetZPATowerEnergyLR();

AliAODZDC* zdcAOD = AODEvent()->GetZDCData();

zdcAOD->SetZEM1Energy(zem1Energy);
zdcAOD->SetZEM2Energy(zem2Energy);
zdcAOD->SetZNCTowers(towZNC, towZNCLG);
zdcAOD->SetZNATowers(towZNA, towZNALG);
zdcAOD->SetZPCTowers(towZPC);
zdcAOD->SetZPATowers(towZPA);
zdcAOD->SetZPCTowers(towZPC, towZPCLG);
zdcAOD->SetZPATowers(towZPA, towZPALG);

zdcAOD->SetZDCParticipants(esdZDC->GetZDCParticipants(), esdZDC->GetZDCPartSideA(), esdZDC->GetZDCPartSideC());
zdcAOD->SetZDCImpactParameter(esdZDC->GetImpactParameter(), esdZDC->GetImpactParamSideA(), esdZDC->GetImpactParamSideC());
zdcAOD->SetZDCTDCSum(esdZDC->GetZNTDCSum(0));
zdcAOD->SetZDCTDCDiff(esdZDC->GetZNTDCDiff(0));
if(esdZDC->IsZNChit()) zdcAOD->SetZNCTDC(esdZDC->GetZDCTDCCorrected(10,0));
if(esdZDC->IsZNAhit()) zdcAOD->SetZNATDC(esdZDC->GetZDCTDCCorrected(12,0));
if(esdZDC->IsZNChit()){
if(esdZDC->IsZDCTDCcablingSet()){ // RUN2
if(esdZDC->GetZNCTDCChannel()>0) zdcAOD->SetZNCTDC(esdZDC->GetZDCTDCCorrected(esdZDC->GetZNCTDCChannel(), 0));
else zdcAOD->SetZNCTDC(esdZDC->GetZDCTDCCorrected(16, 0));
}
else zdcAOD->SetZNCTDC(esdZDC->GetZDCTDCCorrected(10, 0)); //RUN1
}
if(esdZDC->IsZNAhit()){
if(esdZDC->IsZDCTDCcablingSet()){ // RUN2
if(esdZDC->GetZNATDCChannel()>0) zdcAOD->SetZNATDC(esdZDC->GetZDCTDCCorrected(esdZDC->GetZNATDCChannel(), 0));
else zdcAOD->SetZNATDC(esdZDC->GetZDCTDCCorrected(18, 0));
}
else zdcAOD->SetZNATDC(esdZDC->GetZDCTDCCorrected(12, 0));
}
if(esdZDC->IsZPChit()){
if(esdZDC->IsZDCTDCcablingSet()){ // RUN2
if(esdZDC->GetZPCTDCChannel()>0) zdcAOD->SetZPCTDC(esdZDC->GetZDCTDCCorrected(esdZDC->GetZPCTDCChannel(), 0));
else zdcAOD->SetZPCTDC(esdZDC->GetZDCTDCCorrected(17, 0));
}
else zdcAOD->SetZPCTDC(esdZDC->GetZDCTDCCorrected(11, 0));
}
if(esdZDC->IsZPAhit()){
if(esdZDC->IsZDCTDCcablingSet()){ // RUN2
if(esdZDC->GetZPATDCChannel()>0) zdcAOD->SetZPATDC(esdZDC->GetZDCTDCCorrected(esdZDC->GetZPATDCChannel(), 0));
else zdcAOD->SetZPATDC(esdZDC->GetZDCTDCCorrected(19, 0));
}
else zdcAOD->SetZPATDC(esdZDC->GetZDCTDCCorrected(13, 0));
}
}

//_____________________________________________________________________________
Expand Down
84 changes: 33 additions & 51 deletions STEER/AOD/AliAODZDC.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -41,13 +41,16 @@ AliAODZDC::AliAODZDC() :
fZDCTDCSum(0),
fZDCTDCDifference(0),
fZNCTDC(-999.),
fZNATDC(-999.)
fZNATDC(-999.),
fZPCTDC(-999.),
fZPATDC(-999.)
{
// Default constructor
for(Int_t i=0; i<5; i++){
fZNCTowerEnergy[i] = fZNATowerEnergy[i] = 0.;
fZPCTowerEnergy[i] = fZPATowerEnergy[i] = 0.;
fZNCTowerEnergyLR[i] = fZNATowerEnergyLR[i] = 0.;
fZPCTowerEnergyLR[i] = fZPATowerEnergyLR[i] = 0.;
}
}

Expand All @@ -69,7 +72,9 @@ AliAODZDC::AliAODZDC(const AliAODZDC &zdcAOD) :
fZDCTDCSum(zdcAOD.fZDCTDCSum),
fZDCTDCDifference(zdcAOD.fZDCTDCDifference),
fZNCTDC(zdcAOD.fZNCTDC),
fZNATDC(zdcAOD.fZNATDC)
fZNATDC(zdcAOD.fZNATDC),
fZPCTDC(zdcAOD.fZPCTDC),
fZPATDC(zdcAOD.fZPATDC)
{
// Constructor
for(Int_t i=0; i<5; i++){
Expand All @@ -79,6 +84,8 @@ AliAODZDC::AliAODZDC(const AliAODZDC &zdcAOD) :
fZPATowerEnergy[i] = zdcAOD.fZPATowerEnergy[i];
fZNCTowerEnergyLR[i] = zdcAOD.fZNCTowerEnergyLR[i];
fZNATowerEnergyLR[i] = zdcAOD.fZNATowerEnergyLR[i];
fZPCTowerEnergyLR[i] = zdcAOD.fZPCTowerEnergyLR[i];
fZPATowerEnergyLR[i] = zdcAOD.fZPATowerEnergyLR[i];
}
}

Expand All @@ -102,6 +109,8 @@ AliAODZDC& AliAODZDC::operator=(const AliAODZDC& zdcAOD)
fZPATowerEnergy[i] = zdcAOD.fZPATowerEnergy[i];
fZNCTowerEnergyLR[i] = zdcAOD.fZNCTowerEnergyLR[i];
fZNATowerEnergyLR[i] = zdcAOD.fZNATowerEnergyLR[i];
fZPCTowerEnergyLR[i] = zdcAOD.fZPCTowerEnergyLR[i];
fZPATowerEnergyLR[i] = zdcAOD.fZPATowerEnergyLR[i];
}
//
fZDCParticipants = zdcAOD.fZDCParticipants;
Expand All @@ -111,64 +120,17 @@ AliAODZDC& AliAODZDC::operator=(const AliAODZDC& zdcAOD)
fImpactParamSideA = zdcAOD.fImpactParamSideA;
fImpactParamSideC = zdcAOD.fImpactParamSideC;
//
//for(Int_t i=0; i<2; i++){
// fZNACentrCoord[i] = zdcAOD.fZNACentrCoord[i];
// fZNCCentrCoord[i] = zdcAOD.fZNCCentrCoord[i];
//}
//
fZDCTDCSum = zdcAOD.fZDCTDCSum;
fZDCTDCDifference = zdcAOD.fZDCTDCDifference;
fZNCTDC = zdcAOD.fZNCTDC;
fZNATDC = zdcAOD.fZNATDC;
fZPCTDC = zdcAOD.fZPCTDC;
fZPATDC = zdcAOD.fZPATDC;

}
return *this;
}

//______________________________________________________________________________
Double_t AliAODZDC::GetZNCEnergy() const
{
// Return ZNC energy
if (fZNCEnergy < 0.) {
fZNCEnergy = 0.;
for(Int_t i=0; i<5; i++) fZNCEnergy += fZNCTowerEnergy[i];
}
return fZNCEnergy;
}

//______________________________________________________________________________
Double_t AliAODZDC::GetZNAEnergy() const
{
// Return ZNA Energy
if (fZNAEnergy < 0.) {
fZNAEnergy = 0.;
for(Int_t i=0; i<5; i++) fZNAEnergy += fZNATowerEnergy[i];
}
return fZNAEnergy;
}

//______________________________________________________________________________
Double_t AliAODZDC::GetZPCEnergy() const
{
// Return ZPC Energy
if (fZPCEnergy < 0.) {
fZPCEnergy = 0.;
for(Int_t i=0; i<5; i++) fZPCEnergy += fZPCTowerEnergy[i];
}
return fZPCEnergy;
}

//______________________________________________________________________________
Double_t AliAODZDC::GetZPAEnergy() const
{
// Return ZPA Energy
if (fZPAEnergy < 0.) {
fZPAEnergy = 0.;
for(Int_t i=0; i<5; i++) fZPAEnergy += fZPATowerEnergy[i];
}
return fZPAEnergy;
}

//______________________________________________________________________________
void AliAODZDC::SetZNCTowers(const Double_t value[5], const Double_t valueLR[5])
{
Expand All @@ -189,6 +151,26 @@ void AliAODZDC::SetZNATowers(const Double_t value[5], const Double_t valueLR[5]
}
}

//______________________________________________________________________________
void AliAODZDC::SetZPCTowers(const Double_t value[5], const Double_t valueLR[5])
{
// Sets ZPC towers
for(Int_t i=0; i<5; i++){
fZPCTowerEnergy[i] = value[i];
fZPCTowerEnergyLR[i] = valueLR[i];
}
}

//______________________________________________________________________________
void AliAODZDC::SetZPATowers(const Double_t value[5], const Double_t valueLR[5])
{
// Sets ZPA towers
for(Int_t i=0; i<5; i++){
fZPATowerEnergy[i] = value[i];
fZPATowerEnergyLR[i] = valueLR[i];
}
}

//______________________________________________________________________________
Bool_t AliAODZDC::GetZNCentroidInPbPb(Float_t beamEne, Double_t centrZNC[2], Double_t centrZNA[2])
{
Expand Down
39 changes: 23 additions & 16 deletions STEER/AOD/AliAODZDC.h
Original file line number Diff line number Diff line change
Expand Up @@ -27,10 +27,10 @@ class AliAODZDC : public AliVZDC {
virtual Double_t GetImpactParamSideA() const {return fImpactParamSideA;}
virtual Double_t GetImpactParamSideC() const {return fImpactParamSideC;}

virtual Double_t GetZNCEnergy() const;
virtual Double_t GetZPCEnergy() const;
virtual Double_t GetZNAEnergy() const;
virtual Double_t GetZPAEnergy() const;
virtual Double_t GetZNCEnergy() const {return fZNCEnergy;}
virtual Double_t GetZPCEnergy() const {return fZPCEnergy;}
virtual Double_t GetZNAEnergy() const {return fZNAEnergy;}
virtual Double_t GetZPAEnergy() const {return fZPAEnergy;}
virtual Double_t GetZEM1Energy() const {return fZEM1Energy;}
virtual Double_t GetZEM2Energy() const {return fZEM2Energy;}

Expand All @@ -40,12 +40,16 @@ class AliAODZDC : public AliVZDC {
virtual const Double_t *GetZPATowerEnergy() const {return fZPATowerEnergy;}
virtual const Double_t *GetZNCTowerEnergyLR() const {return fZNCTowerEnergyLR;}
virtual const Double_t *GetZNATowerEnergyLR() const {return fZNATowerEnergyLR;}
virtual const Double_t *GetZPCTowerEnergyLR() const {return fZPCTowerEnergyLR;}
virtual const Double_t *GetZPATowerEnergyLR() const {return fZPATowerEnergyLR;}

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]);

virtual Float_t GetZNCTime() const {return fZNCTDC;}
virtual Float_t GetZNATime() const {return fZNATDC;}
virtual Float_t GetZPCTime() const {return fZPCTDC;}
virtual Float_t GetZPATime() const {return fZPATDC;}

virtual Float_t GetZDCTimeSum() const {return fZDCTDCSum;}
virtual Float_t GetZDCTimeDiff() const {return fZDCTDCDifference;}
Expand All @@ -56,10 +60,8 @@ class AliAODZDC : public AliVZDC {
void SetZEM2Energy(const Double_t zem2) {fZEM2Energy = zem2;}
void SetZNCTowers(const Double_t value[5], const Double_t valueLG[5]);
void SetZNATowers(const Double_t value[5], const Double_t valueLG[5]);
void SetZPCTowers(const Double_t value[5])
{for(Int_t i=0; i<5; i++) fZPCTowerEnergy[i] = value[i];}
void SetZPATowers(const Double_t value[5])
{for(Int_t i=0; i<5; i++) fZPATowerEnergy[i] = value[i];}
void SetZPCTowers(const Double_t value[5], const Double_t valueLG[5]);
void SetZPATowers(const Double_t value[5], const Double_t valueLG[5]);

void SetZDCParticipants(Int_t npart, Int_t npartA, Int_t npartC)
{fZDCParticipants=npart; fZDCPartSideA=npartA; fZDCPartSideC=npartC;}
Expand All @@ -72,14 +74,16 @@ class AliAODZDC : public AliVZDC {

void SetZNCTDC(Float_t tdc) {fZNCTDC = tdc;}
void SetZNATDC(Float_t tdc) {fZNATDC = tdc;}
void SetZPCTDC(Float_t tdc) {fZPCTDC = tdc;}
void SetZPATDC(Float_t tdc) {fZPATDC = tdc;}


protected:

mutable Double32_t fZNCEnergy; //!E in ZNC
mutable Double32_t fZNAEnergy; //!E in ZNA
mutable Double32_t fZPCEnergy; //!E in ZPC
mutable Double32_t fZPAEnergy; //!E in ZPA
mutable Double32_t fZNCEnergy; //!E in ZNC
mutable Double32_t fZNAEnergy; //!E in ZNA
mutable Double32_t fZPCEnergy; //!E in ZPC
mutable Double32_t fZPAEnergy; //!E in ZPA
Double32_t fZEM1Energy; // E in ZEM1
Double32_t fZEM2Energy; // E in ZEM2
Double32_t fZNCTowerEnergy[5]; // E in 5 ZNC sectors - high gain chain
Expand All @@ -88,6 +92,8 @@ class AliAODZDC : public AliVZDC {
Double32_t fZPATowerEnergy[5]; // E in 5 ZPA sectors - high gain chain
Double32_t fZNCTowerEnergyLR[5]; // E in 5 ZNC sectors - low gain chain
Double32_t fZNATowerEnergyLR[5]; // E in 5 ZNA sectors - low gain chain
Double32_t fZPCTowerEnergyLR[5]; // E in 5 ZPC sectors - low gain chain
Double32_t fZPATowerEnergyLR[5]; // E in 5 ZPA sectors - low gain chain
//
Int_t fZDCParticipants; // number of participants estimated by the ZDC (ONLY in A-A)
Int_t fZDCPartSideA; // number of participants estimated by the ZDC (ONLY in A-A)
Expand All @@ -99,11 +105,12 @@ class AliAODZDC : public AliVZDC {
//
Float_t fZDCTDCSum; // ZDC TDC sum in ns corrected 4 phase shift
Float_t fZDCTDCDifference; // ZDC TDC diff. in ns corrected 4 phase shift
Float_t fZNCTDC; // ZNCC TDC sum in ns corrected 4 phase shift
Float_t fZNATDC; // ZNA TDC diff. in ns corrected 4 phase shift;
Float_t fZNCTDC; // ZNC TDC in ns corrected 4 phase shift
Float_t fZNATDC; // ZNA TDC in ns corrected 4 phase shift;
Float_t fZPCTDC; // ZNC TDC in ns corrected 4 phase shift
Float_t fZPATDC; // ZNA TDC in ns corrected 4 phase shift;


ClassDef(AliAODZDC,2)
ClassDef(AliAODZDC,3)
};

#endif
Loading

0 comments on commit 3928aa0

Please sign in to comment.