TObjArray * timeGainSplines = 0x0;
TGraphErrors * grPadEqual = 0x0;
TGraphErrors* grChamberGain[3]={0x0,0x0,0x0};
+ TGraphErrors* grDipAngle[3]={0x0,0x0,0x0};
//
//
if (recoParam->GetNeighborRowsDedx() == 0) rowThres = 0;
if (type==1) grPadEqual = (TGraphErrors * ) timeGainSplines->FindObject("TGRAPHERRORS_MEANQMAX_PADREGIONGAIN_BEAM_ALL");
if (type==0) grPadEqual = (TGraphErrors * ) timeGainSplines->FindObject("TGRAPHERRORS_MEANQTOT_PADREGIONGAIN_BEAM_ALL");
const char* names[3]={"SHORT","MEDIUM","LONG"};
- for (Int_t iPadRegion=0; iPadRegion<3; ++iPadRegion)
+ for (Int_t iPadRegion=0; iPadRegion<3; ++iPadRegion) {
grChamberGain[iPadRegion]=(TGraphErrors*)timeGainSplines->FindObject(Form("TGRAPHERRORS_MEAN_CHAMBERGAIN_%s_BEAM_ALL",names[iPadRegion]));
+ if (type==1) grDipAngle[iPadRegion]=(TGraphErrors*)timeGainSplines->FindObject(Form("TGRAPHERRORS_QMAX_DIPANGLE_%s_BEAM_ALL",names[iPadRegion]));
+ if (type==0) grDipAngle[iPadRegion]=(TGraphErrors*)timeGainSplines->FindObject(Form("TGRAPHERRORS_QTOT_DIPANGLE_%s_BEAM_ALL",names[iPadRegion]));
+ }
}
}
if (gainChamber==0) gainChamber=1; // in case old calibation was used before use no correction
}
//
+ // dip angle correction
+ //
+ Float_t corrDipAngle = 1;
+ if (grDipAngle[ipad]) corrDipAngle = grDipAngle[ipad]->Eval(GetTgl());
//
+ // pressure temperature and high voltage correction
//
Double_t correctionHVandPT = AliTPCcalibDB::Instance()->GetGainCorrectionHVandPT(time, runNumber,cluster->GetDetector(), 5 , recoParam->GetGainCorrectionHVandPTMode());
//
amp[ncl]/=corrPos;
amp[ncl]/=gainEqualPadRegion;
amp[ncl]/=gainChamber;
+ amp[ncl]/=corrDipAngle;
//
ncl++;
}