//
if (!fComposedCorrectionArray) return 0;
if (fRun<0) return 0;
+ if (fDriftCorrectionArray.GetEntriesFast()<=fRun) return 0;
if (fDriftCorrectionArray.At(fRun)==0) return 0;
- if (fComposedCorrectionArray->GetEntriesFast()<4) {
- fComposedCorrectionArray->Expand(4);
+ if (fComposedCorrectionArray->GetEntriesFast()<=4) {
+ fComposedCorrectionArray->Expand(5);
TObjArray * timeArray =(TObjArray*)(fDriftCorrectionArray.At(fRun));
AliTPCCorrection * correctionTime = (AliTPCCorrection *)timeArray->FindObject("FitCorrectionTime");
if (correctionTime){
//
Int_t binsPadEqual[6] = { 200, 200, 4, 20, 50, 100};
Double_t xminPadEqual[6] = { 0.5, 0.5, -0.5, 0, -250, 0};
- Double_t xmaxPadEqual[6] = { 1.5, 1.5, 3.5, 4000, 250, 3};
+ Double_t xmaxPadEqual[6] = { 1.5, 1.5, 3.5, 13000, 250, 3};
TString axisNamePadEqual[6] = {"dEdxRatioMax","dEdxRatioTot","padType","mult","driftlength", "1_pt"};
TString axisTitlePadEqual[6] = {"dEdx_padRegion/mean_dEdx Qmax", "dEdx_padRegion/mean_dEdx Qtot","padType","mult","driftlength", "1/pt"};
//
// MIP Qmax, MIP Qtot, z, pad, vtx. contribut., ncl
Int_t binsGainMult[6] = { 145, 145, 25, 4, 100, 80};
Double_t xminGainMult[6] = { 10., 10., 0, -0.5, 0, -0.5};
- Double_t xmaxGainMult[6] = {300., 300., 250, 3.5, 5000, 159.5};
+ Double_t xmaxGainMult[6] = {300., 300., 250, 3.5, 13000, 159.5};
TString axisNameMult[6]={"Qmax","Qtot","drift","padtype""multiplicity","ncl"};
TString axisTitleMult[6]={"Qmax (a.u)","Qtot (a.u.)","driftlenght l (cm)","Pad Type","multiplicity","ncl"};
//
return;
}
UInt_t runNumber = event->GetRunNumber();
- Int_t nContributors = 0;
- if (event->GetPrimaryVertexTPC()) nContributors = event->GetPrimaryVertexTPC()->GetNContributors();
+ Int_t nContributors = event->GetNumberOfTracks();
//
// track loop
//
//
// fill histos
//
- TVectorD vdriftA(5), vdriftC(5),vdriftAC(5);
+ TVectorD vdriftA(5), vdriftC(5),vdriftAC(6);
vdriftA=*(fLaser->fFitAside);
vdriftC=*(fLaser->fFitCside);
vdriftAC=*(fLaser->fFitACside);
Double_t dcaVertex[2]={0,0};
Int_t ntracks=event->GetNumberOfTracks();
if (ntracks==0) return;
+ if (ntracks > fCutTracks) return;
//
AliESDfriend *esdFriend=(AliESDfriend*)(((AliESDEvent*)event)->FindListObject("AliESDfriend"));
//
}
transform->SetCurrentRecoParam((AliTPCRecoParam*)AliTPCReconstructor::GetRecoParam());
const AliTPCRecoParam * recoParam = AliTPCcalibDB::Instance()->GetTransform()->GetCurrentRecoParam();
-
+ Int_t nContribut = event->GetNumberOfTracks();
TGraphErrors * graphMultDependenceDeDx = 0x0;
if (recoParam && recoParam->GetUseMultiplicityCorrectionDedx() && gainCalibArray) {
if (recoParam->GetUseTotCharge()) {
Float_t dedx = seed->GetdEdx();
// apply mutliplicity dependent dEdx correction if available
if (graphMultDependenceDeDx) {
- Int_t nContribut = event->GetPrimaryVertexTPC()->GetNContributors();
Double_t corrGain = AliTPCcalibDButil::EvalGraphConst(graphMultDependenceDeDx, nContribut);
- dedx /= corrGain;
+ dedx += (1 - corrGain)*50.; // MIP is normalized to 50
}
esd->SetTPCsignal(dedx, sdedx, ndedx);
//