AliPtResolAnalysisPbPb::AliPtResolAnalysisPbPb(): AlidNdPt(),\r
fAnalysisFolder(0),\r
fTrackParamHist(0),\r
+ fTrackParamHist2(0),\r
fCentralityEstimator(0)\r
{\r
// default constructor\r
AliPtResolAnalysisPbPb::AliPtResolAnalysisPbPb(Char_t* name, Char_t* title): AlidNdPt(name,title),\r
fAnalysisFolder(0),\r
fTrackParamHist(0),\r
+ fTrackParamHist2(0),\r
fCentralityEstimator(0)\r
{\r
Init();\r
//\r
if(fAnalysisFolder) delete fAnalysisFolder; fAnalysisFolder=0;\r
if(fTrackParamHist) delete fTrackParamHist; fTrackParamHist=0;\r
+ if(fTrackParamHist2) delete fTrackParamHist2; fTrackParamHist2=0;\r
}\r
\r
//_____________________________________________________________________________\r
fTrackParamHist = new THnSparseF("fTrackParamHist","1/pT:#sigma(1/pT):centrality",3,binsTrackParamHist,minTrackParamHist,maxTrackParamHist);\r
fTrackParamHist->SetBinEdges(2,centrBins);\r
fTrackParamHist->GetAxis(0)->SetTitle("1/pT (GeV/c)^{-1}");\r
- fTrackParamHist->GetAxis(1)->SetTitle("#sigma(1/pT)" );\r
- fTrackParamHist->GetAxis(2)->SetTitle("centrality" );\r
+ fTrackParamHist->GetAxis(1)->SetTitle("#sigma(1/pT)");\r
+ fTrackParamHist->GetAxis(2)->SetTitle("centrality");\r
fTrackParamHist->Sumw2();\r
\r
+ //pt:sigma(1/pT)*pT:centrality\r
+ const Int_t ptNbins = 73;\r
+ Double_t bins[74] = {0.0, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45, 0.5, 0.55, 0.6, 0.65, 0.7, 0.75, 0.8, 0.85, 0.9, 0.95, 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 2.0, 2.2, 2.4, 2.6, 2.8, 3.0, 3.2, 3.4, 3.6, 3.8, 4.0, 4.5, 5.0, 5.5, 6.0, 6.5, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0, 13.0, 14.0, 15.0, 16.0, 18.0, 20.0, 22.0, 24.0, 26.0, 28.0, 30.0, 32.0, 34.0, 36.0, 40.0, 45.0, 50.0, 60.0, 70.0, 80.0, 90.0, 100.0 };\r
+\r
+ Int_t binsTrackParamHist2[3]={ptNbins,200,11};\r
+ Double_t minTrackParamHist2[3]={0,0,0}; \r
+ Double_t maxTrackParamHist2[3]={100,0.2,100};\r
+\r
+ fTrackParamHist2 = new THnSparseF("fTrackParamHist2","pT:#sigma(1/pT)*pT:centrality",3,binsTrackParamHist2,minTrackParamHist2,maxTrackParamHist2);\r
+ fTrackParamHist2->SetBinEdges(0,bins);\r
+ fTrackParamHist2->GetAxis(0)->SetTitle("pT (GeV/c)");\r
+ fTrackParamHist2->GetAxis(1)->SetTitle("#sigma(1/pT)*pT");\r
+ fTrackParamHist2->GetAxis(2)->SetTitle("centrality");\r
+ fTrackParamHist2->Sumw2();\r
+\r
// init folder\r
fAnalysisFolder = CreateFolder("folderdNdPt","Analysis dNdPt Folder");\r
\r
\r
Double_t v[3] = {track->OneOverPt(),TMath::Sqrt(track->GetSigma1Pt2()),centralityF};\r
fTrackParamHist->Fill(v);\r
+\r
+ Double_t v2[3] = {track->Pt(),track->Pt()*TMath::Sqrt(track->GetSigma1Pt2()),centralityF};\r
+ fTrackParamHist2->Fill(v2);\r
}\r
} \r
}\r
\r
//\r
fTrackParamHist->Add(entry->fTrackParamHist);\r
+ fTrackParamHist2->Add(entry->fTrackParamHist2);\r
}\r
\r
return count;\r
// Get analysis folder
TFolder* GetAnalysisFolder() const {return fAnalysisFolder;}
THnSparseF *GetTrackParamHist() const {return fTrackParamHist;}
+ THnSparseF *GetTrackParamHist2() const {return fTrackParamHist2;}
void SetCentralityEstimator(TString centEst="V0M") { fCentralityEstimator = centEst; }
TString GetCentralityEstimator() const {return fCentralityEstimator; }
private:
// analysis folder
- TFolder *fAnalysisFolder; // folder for analysed histograms
+ TFolder *fAnalysisFolder; // folder for analysed histograms
THnSparseF *fTrackParamHist; //-> sigma(1/pT):1/pT:centr
+ THnSparseF *fTrackParamHist2; //-> sigma(1/pT)*pT:pT:centr
TString fCentralityEstimator; // use centrality can be "VOM" (default), "FMD", "TRK", "TKL", "CL0", "CL1", "V0MvsFMD", "TKLvsV0M", "ZEMvsZDC"
AliPtResolAnalysisPbPb(const AliPtResolAnalysisPbPb&); // not implemented
AliPtResolAnalysisPbPb& operator=(const AliPtResolAnalysisPbPb&); // not implemented
- ClassDef(AliPtResolAnalysisPbPb,1);
+ ClassDef(AliPtResolAnalysisPbPb,2);
};
#endif
//nCrossRows:chi2PerClust:nCrossRows/nFindableClust:fracSharedClust:DCAy:DCAz:eta:phi:pt:hasStrangeMother:isFromMaterial:isPrim:charge:centr\r
Int_t binsRecMCTrackHist[14]= {160, 10, 20, 20, 50, 50, 20, 90, ptNbins, 2, 2, 2, 3, centrNbins};\r
Double_t minRecMCTrackHist[14]={0., 0., 0., 0.,-0.5,-0.5,-1.0, 0., ptMin, 0., 0., 0.,-1., centrMin};\r
- Double_t maxRecMCTrackHist[14]={160.,10.,1, 1., 0.5, 0.5, 1.0, 2.*TMath::Pi(), ptMax, 2., 2., 2., 2., centrMax};\r
+ Double_t maxRecMCTrackHist[14]={160.,10.,1., 1., 0.5, 0.5, 1.0, 2.*TMath::Pi(), ptMax, 2., 2., 2., 2., centrMax};\r
\r
fRecMCTrackHist = new THnSparseF("fRecMCTrackHist","nCrossRows:chi2PerClust:nCrossRows/nFindableClust:fracSharedClust:DCAy:DCAz:eta:phi:pt:hasStrangeMother:isFromMaterial:isPrim:charge:centr",14,binsRecMCTrackHist,minRecMCTrackHist,maxRecMCTrackHist);\r
fRecMCTrackHist->SetBinEdges(8,binsPt);\r
//\r
// Init histograms\r
//\r
- const Int_t ptNbins = 58; \r
+ const Int_t ptNbins = 63; \r
const Double_t ptMin = 0.; \r
const Double_t ptMax = 20.; \r
\r
- Double_t binsPt[ptNbins+1] = {0.,0.05,0.1,0.15,0.2,0.25,0.3,0.35,0.4,0.45,0.5,0.55,0.6,0.65,0.7,0.75,0.8,0.85,0.9,0.95,1.0,1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8,1.9,2.0,2.2,2.4,2.6,2.8,3.0,3.2,3.4,3.6,3.8,4.0,4.5,5.0,5.5,6.0,6.5,7.0,7.5,8.0,9.0,10.0,11.0,12.0,13.0,14.0,15.0,16.0,18.0, 20.};\r
+ Double_t binsPt[ptNbins+1] = {0.,0.05,0.1,0.15,0.2,0.25,0.3,0.35,0.4,0.45,0.5,0.55,0.6,0.65,0.7,0.75,0.8,0.85,0.9,0.95,1.0,1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8,1.9,2.0,2.2,2.4,2.6,2.8,3.0,3.2,3.4,3.6,3.8,4.0,4.5,5.0,5.5,6.0,6.5,7.0,7.5,8.0,9.0,10.0,11.0,12.0,13.0,14.0,15.0,16.0,18.0, 20.,25.,30.,35.,40.,50};\r
\r
// \r
// THnSparse track histograms\r
\r
// init output folder\r
fAnalysisFolder = CreateFolder("folderdNdPt","Analysis dNdPt Folder");\r
-\r
}\r
\r
//_____________________________________________________________________________\r
\r
if(track->Charge()==0) continue;\r
if(!track->GetTPCInnerParam()) continue;\r
- if(!(track->GetStatus() & AliESDtrack::kTPCrefit)) continue;\r
+ if(!(track->GetStatus()&AliESDtrack::kTPCrefit)) continue;\r
\r
// Get TPC only tracks (must be deleted by user) \r
- AliESDtrack* tpcTrack = AliESDtrackCuts::GetTPCOnlyTrack(esdEvent,iTrack);\r
- if(!tpcTrack) continue;\r
- if(!tpcTrack->RelateToVertex(vtxESD,esdEvent->GetMagneticField(),100.)) { delete tpcTrack; continue; } \r
+ // AliESDtrack* tpcTrack = AliESDtrackCuts::GetTPCOnlyTrack(esdEvent,iTrack);\r
+ // if(!tpcTrack) continue;\r
+ // if(!tpcTrack->RelateToVertex(vtxESD,esdEvent->GetMagneticField(),100.)) { delete tpcTrack; continue; } \r
\r
// check loose cuts for TPC tracks\r
- if(!esdTrackCuts->AcceptTrack(tpcTrack)) { delete tpcTrack; continue; } \r
+ // if(!esdTrackCuts->AcceptTrack(tpcTrack)) { delete tpcTrack; continue; } \r
+ if(!esdTrackCuts->AcceptTrack(track)) { continue; } \r
\r
isTPC = kTRUE;\r
isMatch = kFALSE;\r
}\r
\r
//\r
- FillHistograms(tpcTrack, stack, isMatch, isTPC, kFALSE);\r
- if(tpcTrack) delete tpcTrack;\r
+ FillHistograms(track, stack, isMatch, isTPC, kFALSE);\r
+ //if(tpcTrack) delete tpcTrack;\r
} \r
\r
//\r
}
- // TPC-only (no pt cut, no eta cut)
+ // TPC (no pt cut, no eta cut)
if (cutMode == 24)
{
// beta cuts (still under investigation)
- minNClustersTPC = 50;
+ minNClustersTPC = 70;
maxChi2PerClusterTPC = 4.0;
maxDCAtoVertexXY = 2.4; // cm
maxDCAtoVertexZ = 3.2; // cm
- minPt=0.0;
- maxPt=1.e10;
esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
esdTrackCuts->SetRequireTPCRefit(kFALSE);
+ esdTrackCuts->SetRequireTPCStandAlone(kFALSE);
esdTrackCuts->SetAcceptKinkDaughters(kFALSE);
esdTrackCuts->SetMinNClustersTPC(minNClustersTPC);
esdTrackCuts->SetMaxChi2PerClusterTPC(maxChi2PerClusterTPC);
+ esdTrackCuts->SetRequireITSRefit(kFALSE);
esdTrackCuts->SetMaxDCAToVertexXY(maxDCAtoVertexXY);
esdTrackCuts->SetMaxDCAToVertexZ(maxDCAtoVertexZ);
esdTrackCuts->SetDCAToVertex2D(kTRUE);
- esdTrackCuts->SetPtRange(minPt,maxPt);
- TString tag = "TPC-only tracking";
+ TString tag = "TPC tracking";
}
// TPC-only (no pt cut, no eta cut) updated 2011