// fZN2EnTow(0x0),
// fZP2EnTow(0x0),
//
- fZEMsignal(0),
+ fZEM1signal(0),
+ fZEM2signal(0),
//
fNDetSpecNLeft(0),
fNDetSpecPLeft(0),
//
Float_t* ezn1tow, Float_t* ezp1tow,
Float_t* ezn2tow, Float_t* ezp2tow,
- Float_t ezem,
+ Float_t ezem1, Float_t ezem2,
//
Int_t detspnLeft, Int_t detsppLeft, Int_t detspnRight,
Int_t detsppRight, Int_t trspnLeft, Int_t trsppLeft,
fZN2Energy(ezn2),
fZP2Energy(ezp2),
//
- fZEMsignal(ezem),
+ fZEM1signal(ezem1),
+ fZEM2signal(ezem2),
//
fNDetSpecNLeft(detspnLeft),
fNDetSpecPLeft(detsppLeft),
fZP2EnTow[i] = oldreco.GetZP2EnTow(i);
}
//
- fZEMsignal = oldreco.GetZEMsignal();
+ fZEM1signal = oldreco.GetZEM1signal();
+ fZEM2signal = oldreco.GetZEM2signal();
//
fNDetSpecNLeft = oldreco.GetNDetSpecNLeft();
fNDetSpecPLeft = oldreco.GetNDetSpecPLeft();
//
// Printing Reconstruction Parameters
//
- printf(" \t --- Reconstruction -> EZN = %f TeV, EZP = %f TeV, EZEM = %f GeV \n "
+ printf(" \t --- Reconstruction -> EZN1 = %f TeV, EZP1 = %f TeV, EZEM1 = %f GeV , EZEM2 = %f GeV \n "
+ "EZN2 = %f TeV, EZP2 = %f TeV \n"
" \t NDetSpecNLeft = %d, NDetSpecPLeft = %d, NspecnLeft = %d,"
" NspecpLeft = %d, NpartLeft = %d"
" \t NDetSpecNRight = %d, NDetSpecPRight = %d, NspecnRight = %d,"
" NspecpRight = %d, NpartRight = %d"
" \t b = %f fm\n ",
- fZN1Energy,fZP1Energy,fZEMsignal,
+ fZN1Energy,fZP1Energy,fZEM1signal,fZEM2signal, fZN2Energy, fZP2Energy,
fNDetSpecNLeft,fNDetSpecPLeft,fNTrueSpecNLeft,fNTrueSpecPLeft,fNPartLeft,
fNDetSpecNRight,fNDetSpecPRight,fNTrueSpecNRight,fNTrueSpecPRight,fNPartRight,
fImpPar);
// loop over digits
Float_t tZN1CorrHG[]={0.,0.,0.,0.,0.}, tZP1CorrHG[]={0.,0.,0.,0.,0.};
- Float_t dZEMCorrHG=0.;
+ Float_t dZEM1CorrHG=0., dZEM2CorrHG=0.;
Float_t tZN2CorrHG[]={0.,0.,0.,0.,0.}, tZP2CorrHG[]={0.,0.,0.,0.,0.};
Float_t tZN1CorrLG[]={0.,0.,0.,0.,0.}, tZP1CorrLG[]={0.,0.,0.,0.,0.};
- Float_t dZEMCorrLG=0.;
+ Float_t dZEM1CorrLG=0., dZEM2CorrLG=0.;
Float_t tZN2CorrLG[]={0.,0.,0.,0.,0.}, tZP2CorrLG[]={0.,0.,0.,0.,0.};
//printf("\n\t # of digits in tree: %d\n",(Int_t) digitsTree->GetEntries());
else if(det == 3){
if(quad == 1){ // *** ZEM1
pedindex = quad+19;
- dZEMCorrHG += (Float_t) (digit.GetADCValue(0)-meanPed[pedindex]);
- if(dZEMCorrHG<0.) dZEMCorrHG = 0.;
- dZEMCorrLG += (Float_t) (digit.GetADCValue(1)-meanPed[pedindex+2]);
- if(dZEMCorrLG<0.) dZEMCorrLG = 0.;
+ dZEM1CorrHG += (Float_t) (digit.GetADCValue(0)-meanPed[pedindex]);
+ if(dZEM1CorrHG<0.) dZEM1CorrHG = 0.;
+ dZEM1CorrLG += (Float_t) (digit.GetADCValue(1)-meanPed[pedindex+2]);
+ if(dZEM1CorrLG<0.) dZEM1CorrLG = 0.;
//printf("\t pedindex %d ADC(0) = %d ped = %1.0f ADCCorr = %1.0f\n",
- // pedindex, digit.GetADCValue(0), meanPed[pedindex], dZEMCorrHG);
+ // pedindex, digit.GetADCValue(0), meanPed[pedindex], dZEM1CorrHG);
//printf("\t pedindex %d ADC(1) = %d ped = %1.0f ADCCorr = %1.0f\n",
- // pedindex+2, digit.GetADCValue(1), meanPed[pedindex+2], dZEMCorrLG);
- ////printf("\t pedindex %d dZEMCorrHG = %1.0f dZEMCorrLG = %1.0f\n", pedindex, dZEMCorrHG, dZEMCorrLG);
+ // pedindex+2, digit.GetADCValue(1), meanPed[pedindex+2], dZEM1CorrLG);
+ ////printf("\t pedindex %d dZEMCorrHG = %1.0f dZEMCorrLG = %1.0f\n", pedindex, dZEM1CorrHG, dZEM1CorrLG);
}
- else if(quad == 2){ // *** ZEM1
+ else if(quad == 2){ // *** ZEM2
pedindex = quad+19;
- dZEMCorrHG += (Float_t) (digit.GetADCValue(0)-meanPed[pedindex]);
- if(dZEMCorrHG<0.) dZEMCorrHG = 0.;
- dZEMCorrLG += (Float_t) (digit.GetADCValue(1)-meanPed[pedindex+2]);
- if(dZEMCorrLG<0.) dZEMCorrLG = 0.;
+ dZEM2CorrHG += (Float_t) (digit.GetADCValue(0)-meanPed[pedindex]);
+ if(dZEM2CorrHG<0.) dZEM2CorrHG = 0.;
+ dZEM2CorrLG += (Float_t) (digit.GetADCValue(1)-meanPed[pedindex+2]);
+ if(dZEM2CorrLG<0.) dZEM2CorrLG = 0.;
//printf("\t pedindex %d ADC(0) = %d ped = %1.0f ADCCorr = %1.0f\n",
- // pedindex, digit.GetADCValue(0), meanPed[pedindex], dZEMCorrHG);
+ // pedindex, digit.GetADCValue(0), meanPed[pedindex], dZEM2CorrHG);
//printf("\t pedindex %d ADC(1) = %d ped = %1.0f ADCCorr = %1.0f\n",
- // pedindex+2, digit.GetADCValue(1),meanPed[pedindex+2], dZEMCorrLG);
- ////printf("\t pedindex %d dZEMCorrHG = %1.0f dZEMCorrLG = %1.0f\n", pedindex, dZEMCorrHG, dZEMCorrLG);
+ // pedindex+2, digit.GetADCValue(1),meanPed[pedindex+2], dZEM2CorrLG);
+ ////printf("\t pedindex %d dZEMCorrHG = %1.0f dZEMCorrLG = %1.0f\n", pedindex, dZEM2CorrHG, dZEM2CorrLG);
}
}
else if(det == 4){ // *** ZN2
// reconstruct the event
ReconstructEvent(clustersTree, tZN1CorrHG, tZP1CorrHG, tZN2CorrHG,
tZP2CorrHG, tZN1CorrLG, tZP1CorrLG, tZN2CorrLG,
- tZP2CorrLG, dZEMCorrHG);
+ tZP2CorrLG, dZEM1CorrHG, dZEM2CorrHG);
}
// loop over raw data rawDatas
Float_t tZN1CorrHG[]={0.,0.,0.,0.,0.}, tZP1CorrHG[]={0.,0.,0.,0.,0.};
- Float_t dZEMCorrHG=0.;
+ Float_t dZEM1CorrHG=0., dZEM2CorrHG=0.;
Float_t tZN2CorrHG[]={0.,0.,0.,0.,0.}, tZP2CorrHG[]={0.,0.,0.,0.,0.};
Float_t tZN1CorrLG[]={0.,0.,0.,0.,0.}, tZP1CorrLG[]={0.,0.,0.,0.,0.};
- Float_t dZEMCorrLG=0.;
+ Float_t dZEM1CorrLG=0., dZEM2CorrLG=0.;
Float_t tZN2CorrLG[]={0.,0.,0.,0.,0.}, tZP2CorrLG[]={0.,0.,0.,0.,0.};
//
AliZDCRawStream rawData(rawReader);
else if(det == 3){
if(quad==1){
pedindex = quad+20;
- if(gain == 0) dZEMCorrHG += (Float_t) (rawData.GetADCValue()-meanPed[pedindex]);
- else dZEMCorrLG += (Float_t) (rawData.GetADCValue()-meanPed[pedindex+2]);
+ if(gain == 0) dZEM1CorrHG += (Float_t) (rawData.GetADCValue()-meanPed[pedindex]);
+ else dZEM1CorrLG += (Float_t) (rawData.GetADCValue()-meanPed[pedindex+2]);
}
else if(quad==2){
pedindex = rawData.GetSector(1)+21;
- if(gain == 0) dZEMCorrHG += (Float_t) (rawData.GetADCValue()-meanPed[pedindex]);
- else dZEMCorrLG += (Float_t) (rawData.GetADCValue()-meanPed[pedindex+2]);
+ if(gain == 0) dZEM2CorrHG += (Float_t) (rawData.GetADCValue()-meanPed[pedindex]);
+ else dZEM2CorrLG += (Float_t) (rawData.GetADCValue()-meanPed[pedindex+2]);
}
}
else if(det == 4){
// reconstruct the event
ReconstructEvent(clustersTree, tZN1CorrHG, tZP1CorrHG, tZN2CorrHG,
tZP2CorrHG, tZN1CorrLG, tZP1CorrLG, tZN2CorrLG,
- tZP2CorrLG, dZEMCorrHG);
+ tZP2CorrLG, dZEM1CorrHG, dZEM2CorrHG);
}
Float_t* ZN2ADCCorrHG, Float_t* ZP2ADCCorrHG,
Float_t* ZN1ADCCorrLG, Float_t* ZP1ADCCorrLG,
Float_t* ZN2ADCCorrLG, Float_t* ZP2ADCCorrLG,
- Float_t corrADCZEMHG) const
+ Float_t corrADCZEM1HG, Float_t corrADCZEM2HG) const
{
// ***** Reconstruct one event
//
// *** RECONSTRUCTION FROM REAL DATA
//
+ Float_t corrADCZEMHG = corrADCZEM1HG + corrADCZEM2HG;
+ //
if(corrADCZEMHG > supValueZEM){
nGenSpecNLeft = (Int_t) (fZNCen->Eval(calibSumZN1HG));
nGenSpecPLeft = (Int_t) (fZPCen->Eval(calibSumZP1HG));
// create the output tree
AliZDCReco reco(calibSumZN1HG, calibSumZP1HG, calibSumZN2HG, calibSumZP2HG,
calibTowZN1LG, calibTowZN2LG, calibTowZP1LG, calibTowZP2LG,
- corrADCZEMHG,
+ corrADCZEM1HG, corrADCZEM2HG,
nDetSpecNLeft, nDetSpecPLeft, nDetSpecNRight, nDetSpecPRight,
nGenSpecNLeft, nGenSpecPLeft, nGenSpecLeft, nGenSpecNRight,
nGenSpecPRight, nGenSpecRight,
reco.GetZN2Energy(), reco.GetZP2Energy(),
reco.GetNPartLeft());
*/
- esd->SetZDC(reco.GetZN1Energy(), reco.GetZP1Energy(), reco.GetZEMsignal(),
+ esd->SetZDC(reco.GetZN1Energy(), reco.GetZP1Energy(), reco.GetZEM1signal(), reco.GetZEM2signal(),
reco.GetZN2Energy(), reco.GetZP2Energy(),
reco.GetNPartLeft());