fZN2Energy(0),
fZP2Energy(0),
//
-// fZN1EnTow(0x0),
-// fZP1EnTow(0x0),
-// fZN2EnTow(0x0),
-// fZP2EnTow(0x0),
- //
fZEMsignal(0),
//
fNDetSpecNLeft(0),
//
// Default constructor
//
+ for(Int_t i=0; i<5; i++){
+ fZN1EnTow[i] = 0;
+ fZP1EnTow[i] = 0;
+ fZN2EnTow[i] = 0;
+ fZP2EnTow[i] = 0;
+ fZN1SigLowRes[i] = 0;
+ fZP1SigLowRes[i] = 0;
+ fZN2SigLowRes[i] = 0;
+ fZP2SigLowRes[i] = 0;
+
+ }
}
//
Float_t* ezn1tow, Float_t* ezp1tow,
Float_t* ezn2tow, Float_t* ezp2tow,
+ Float_t* ezn1siglr, Float_t* ezp1siglr,
+ Float_t* ezn2siglr, Float_t* ezp2siglr,
Float_t ezem,
//
Int_t detspnLeft, Int_t detsppLeft, Int_t detspnRight,
fZP1EnTow[j] = ezp1tow[j];
fZN2EnTow[j] = ezn2tow[j];
fZP2EnTow[j] = ezp2tow[j];
+ fZN1SigLowRes[j] = ezn1siglr[j];
+ fZP1SigLowRes[j] = ezp1siglr[j];
+ fZN2SigLowRes[j] = ezn2siglr[j];
+ fZP2SigLowRes[j] = ezp2siglr[j];
}
}
fZP1EnTow[i] = oldreco.GetZP1EnTow(i);
fZN2EnTow[i] = oldreco.GetZN2EnTow(i);
fZP2EnTow[i] = oldreco.GetZP2EnTow(i);
+ fZN1SigLowRes[i] = oldreco.GetZN1SigLowRes(i);
+ fZP1SigLowRes[i] = oldreco.GetZP1SigLowRes(i);
+ fZN2SigLowRes[i] = oldreco.GetZN2SigLowRes(i);
+ fZP2SigLowRes[i] = oldreco.GetZP2SigLowRes(i);
}
//
fZEMsignal = oldreco.GetZEMsignal();
AliZDCReco(Float_t ezn1, Float_t ezp1, Float_t ezn2, Float_t ezp2,
Float_t* ezn1tow, Float_t* ezp1tow,
Float_t* ezn2tow, Float_t* ezp2tow,
+ Float_t* ezn1siglr, Float_t* ezp1siglr,
+ Float_t* ezn2siglr, Float_t* ezp2siglr,
Float_t ezem,
//
Int_t detspnLeft, Int_t detsppLeft, Int_t detspnRight, Int_t detsppRight,
virtual Float_t GetZN2EnTow(Int_t tow) const {return fZN2EnTow[tow];}
virtual Float_t GetZP2EnTow(Int_t tow) const {return fZP2EnTow[tow];}
//
+ virtual Float_t GetZN1SigLowRes(Int_t tow) const {return fZN1SigLowRes[tow];}
+ virtual Float_t GetZP1SigLowRes(Int_t tow) const {return fZP1SigLowRes[tow];}
+ virtual Float_t GetZN2SigLowRes(Int_t tow) const {return fZN2SigLowRes[tow];}
+ virtual Float_t GetZP2SigLowRes(Int_t tow) const {return fZP2SigLowRes[tow];}
+ //
virtual Float_t GetZEMsignal() const {return fZEMsignal;}
//
virtual Int_t GetNDetSpecNLeft() const {return fNDetSpecNLeft;}
Float_t fZN2EnTow[5]; // Energy in ZN2 towers
Float_t fZP2EnTow[5]; // Energy in ZP2 towers
//
+ Float_t fZN1SigLowRes[5]; // Energy in ZN1 towers - low res ch.
+ Float_t fZP1SigLowRes[5]; // Energy in ZP1 towers - low res ch.
+ Float_t fZN2SigLowRes[5]; // Energy in ZN2 towers - low res ch.
+ Float_t fZP2SigLowRes[5]; // Energy in ZP2 towers - low res ch.
+ //
Float_t fZEMsignal; // Signal in EM ZDC
//
Int_t fNDetSpecNLeft; // Number of spectator neutrons detected
Float_t fImpPar; // Estimate of the impact parameter
- ClassDef(AliZDCReco,2) // RecPoints for the Zero Degree Calorimeters
+ ClassDef(AliZDCReco,3) // RecPoints for the Zero Degree Calorimeters
};
#endif
// *** RECONSTRUCTION FROM "REAL" DATA
//
// Retrieving calibration data
+ // --- Equalization coefficients ---------------------------------------------
Float_t equalCoeffZN1[5], equalCoeffZP1[5], equalCoeffZN2[5], equalCoeffZP2[5];
for(Int_t ji=0; ji<5; ji++){
equalCoeffZN1[ji] = fCalibData->GetZN1EqualCoeff(ji);
equalCoeffZN2[ji] = fCalibData->GetZN2EqualCoeff(ji);
equalCoeffZP2[ji] = fCalibData->GetZP2EqualCoeff(ji);
}
- //
+ // --- Energy calibration factors ------------------------------------
Float_t calibEne[4];
for(Int_t ij=0; ij<4; ij++) calibEne[ij] = fCalibData->GetEnCalib(ij);
//
+ // --- Reconstruction parameters ------------------
Float_t endPointZEM = fCalibData->GetZEMEndValue();
Float_t cutFractionZEM = fCalibData->GetZEMCutFraction();
Float_t dZEMSup = fCalibData->GetDZEMSup();
// create the output tree
AliZDCReco reco(calibSumZN1HG, calibSumZP1HG, calibSumZN2HG, calibSumZP2HG,
calibTowZN1LG, calibTowZN2LG, calibTowZP1LG, calibTowZP2LG,
+ calibTowZN1LG, calibTowZP1LG, calibTowZN2LG, calibTowZP2LG,
corrADCZEMHG,
nDetSpecNLeft, nDetSpecPLeft, nDetSpecNRight, nDetSpecPRight,
nGenSpecNLeft, nGenSpecPLeft, nGenSpecLeft, nGenSpecNRight,
clustersTree->SetBranchAddress("ZDC", &preco);
clustersTree->GetEntry(0);
+ //
+ esd->SetZDC(reco.GetZN1Energy(), reco.GetZP1Energy(), reco.GetZEMsignal(),
+ reco.GetZN2Energy(), reco.GetZP2Energy(),
+ reco.GetNPartLeft());
+ //
+ //
/*Double_t tZN1Ene[4], tZN2Ene[4];
for(Int_t i=0; i<4; i++){
tZN1Ene[i] = reco.GetZN1EnTow(i);
tZN2Ene[i] = reco.GetZN2EnTow(i);
}
+ esd->SetZN1TowerEnergy(tZN1Ene);
+ esd->SetZN2TowerEnergy(tZN2Ene);
esd->SetZDC(tZN1Ene, tZN2Ene, reco.GetZN1Energy(), reco.GetZP1Energy(), reco.GetZEMsignal(),
reco.GetZN2Energy(), reco.GetZP2Energy(),
reco.GetNPartLeft());
*/
- esd->SetZDC(reco.GetZN1Energy(), reco.GetZP1Energy(), reco.GetZEMsignal(),
- reco.GetZN2Energy(), reco.GetZP2Energy(),
- reco.GetNPartLeft());
-
- /*Double_t tZN1Ene[4], tZN2Ene[4];
- for(Int_t i=0; i<4; i++){
- tZN1Ene[i] = reco.GetZN1EnTow(i);
- tZN2Ene[i] = reco.GetZN2EnTow(i);
- }*/
- //esd->SetZN1TowerEnergy(tZN1Ene);
- //esd->SetZN2TowerEnergy(tZN2Ene);
}