//\r
\r
const Int_t multNbins = 27;\r
- const Int_t ptNbinsTrackEventCorr = 38;\r
- //const Int_t ptNbins = 56;\r
- const Int_t ptNbins = 55;\r
+ const Int_t ptNbinsTrackEventCorr = 37;\r
+ const Int_t ptNbins = 68;\r
const Int_t etaNbins = 30;\r
const Int_t zvNbins = 12;\r
\r
9.5, 10.5, 11.5, 12.5, 13.5, 14.5, 15.5, 16.5, 17.5, 18.5,\r
19.5,20.5, 21.5, 22.5, 23.5, 24.5, 29.5, 149.5};\r
\r
- Double_t binsPtTrackEventCorr[ptNbinsTrackEventCorr+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,3.0,4.0,6.0,10.0,16.0};\r
+ Double_t binsPtTrackEventCorr[ptNbinsTrackEventCorr+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,3.0,4.0,20.0,50.0};\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,8.0,9.0,10.0,11.0,12.0,13.0,14.0,15.0,16.0};\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,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};\r
\r
Double_t binsEta[etaNbins+1] = {-1.5,-1.4,-1.3,-1.2,-1.1,-1.0,-0.9,-0.8,-0.7,-0.6,-0.5,-0.4,-0.3,-0.2,-0.1,0.,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1.0,1.1,1.2,1.3,1.4,1.5};\r
\r
//\r
// 0-multiplicity bin for LHC background correction\r
//\r
- if(GetAnalysisMode() == AlidNdPtHelper::kTPCTrackSPDvtx || GetAnalysisMode() == AlidNdPtHelper::kTPCTrackSPDvtxUpdate || \r
- GetAnalysisMode() == AlidNdPtHelper::kTPCITSHybridTrackSPDvtx || GetAnalysisMode() == AlidNdPtHelper::kTPCITSHybridTrackSPDvtxDCArPt ||\r
- GetAnalysisMode() == AlidNdPtHelper::kITSStandAloneTrackSPDvtx || GetAnalysisMode() == AlidNdPtHelper::kITSStandAloneTPCTrackSPDvtx\r
+ if( GetAnalysisMode() == AlidNdPtHelper::kTPCITS || \r
+ GetAnalysisMode() == AlidNdPtHelper::kTPCTrackSPDvtx || \r
+ GetAnalysisMode() == AlidNdPtHelper::kTPCTrackSPDvtxUpdate || \r
+ GetAnalysisMode() == AlidNdPtHelper::kTPCITSHybridTrackSPDvtx || \r
+ GetAnalysisMode() == AlidNdPtHelper::kTPCITSHybridTrackSPDvtxDCArPt ||\r
+ GetAnalysisMode() == AlidNdPtHelper::kITSStandAloneTrackSPDvtx || \r
+ GetAnalysisMode() == AlidNdPtHelper::kITSStandAloneTPCTrackSPDvtx\r
) \r
{\r
trigSel->SetBin0CallbackViaPointer(&IsBinZeroTrackSPDvtx);\r
if(vtxESD->GetStatus() && isRecVertex)\r
multMBTracks = AlidNdPtHelper::GetTPCMBTrackMult(esdEvent,evtCuts,accCuts,esdTrackCuts);\r
} \r
- else if( GetAnalysisMode() == AlidNdPtHelper::kTPCITS || GetAnalysisMode() == AlidNdPtHelper::kTPCSPDvtx || \r
- GetAnalysisMode()==AlidNdPtHelper::kTPCSPDvtxUpdate || GetAnalysisMode()==AlidNdPtHelper::kTPCITSHybrid ) \r
+ else if( GetAnalysisMode() == AlidNdPtHelper::kTPCSPDvtx || \r
+ GetAnalysisMode()==AlidNdPtHelper::kTPCSPDvtxUpdate ) \r
{\r
const AliMultiplicity* mult = esdEvent->GetMultiplicity();\r
- //if(mult && vtxESD->GetStatus() && isRecVertex)\r
- //if(mult)\r
if(mult && vtxESD->GetStatus() && isRecVertex)\r
multMBTracks = mult->GetNumberOfTracklets();\r
} \r
- else if( GetAnalysisMode() == AlidNdPtHelper::kTPCTrackSPDvtx || GetAnalysisMode() == AlidNdPtHelper::kTPCTrackSPDvtxUpdate || \r
- GetAnalysisMode() == AlidNdPtHelper::kTPCITSHybridTrackSPDvtx || GetAnalysisMode() == AlidNdPtHelper::kTPCITSHybridTrackSPDvtxDCArPt\r
- || GetAnalysisMode() == AlidNdPtHelper::kITSStandAloneTrackSPDvtx || GetAnalysisMode() == AlidNdPtHelper::kITSStandAloneTPCTrackSPDvtx\r
+ else if( GetAnalysisMode() == AlidNdPtHelper::kTPCITS || \r
+ GetAnalysisMode()==AlidNdPtHelper::kTPCITSHybrid || \r
+ GetAnalysisMode() == AlidNdPtHelper::kTPCTrackSPDvtx || \r
+ GetAnalysisMode() == AlidNdPtHelper::kTPCTrackSPDvtxUpdate || \r
+ GetAnalysisMode() == AlidNdPtHelper::kTPCITSHybridTrackSPDvtx || \r
+ GetAnalysisMode() == AlidNdPtHelper::kTPCITSHybridTrackSPDvtxDCArPt || \r
+ GetAnalysisMode() == AlidNdPtHelper::kITSStandAloneTrackSPDvtx || \r
+ GetAnalysisMode() == AlidNdPtHelper::kITSStandAloneTPCTrackSPDvtx\r
)\r
{\r
if(vtxESD->GetStatus() && isRecVertex)\r
if(!hasMatch) continue;\r
}\r
else {\r
+ // check track cuts\r
if(!esdTrackCuts->AcceptTrack(track)) \r
continue;\r
}\r
\r
- /*\r
- if(GetAnalysisMode() == AlidNdPtHelper::kTPCITSHybridTrackSPDvtxDCArPt) {\r
- if(!AlidNdPtHelper::IsGoodImpPar(track)) continue;\r
- }\r
- */\r
-\r
//\r
Bool_t isOK = kFALSE;\r
Double_t x[3]; track->GetXYZ(x);\r
}\r
\r
// update track parameters using vertex point \r
- if(GetAnalysisMode() == AlidNdPtHelper::kTPCSPDvtxUpdate || GetAnalysisMode() == AlidNdPtHelper::kTPCTrackSPDvtxUpdate) {\r
+ if( GetAnalysisMode() == AlidNdPtHelper::kTPCSPDvtxUpdate || \r
+ GetAnalysisMode() == AlidNdPtHelper::kTPCTrackSPDvtxUpdate ) \r
+ {\r
// update track parameters\r
AliExternalTrackParam cParam;\r
isOK = track->RelateToVertexTPCBxByBz(vtxESD, b, kVeryBig, &cParam);\r
track->Set(cParam.GetX(),cParam.GetAlpha(),cParam.GetParameter(),cParam.GetCovariance());\r
\r
if(accCuts->AcceptTrack(track)) {\r
-\r
FillHistograms(track,stack,AlidNdPtHelper::kRecTracks); \r
labelsRec[multRec] = TMath::Abs(track->GetLabel());\r
multRec++;\r
else {\r
if(accCuts->AcceptTrack(track)) \r
{\r
- //\r
- //if(track->GetKinkIndex(0) < 0) continue;\r
-\r
FillHistograms(track,stack,AlidNdPtHelper::kRecTracks); \r
labelsRec[multRec] = TMath::Abs(track->GetLabel());\r
multRec++;\r
-\r
- /*\r
- if(!multMCTrueTracks && IsUseMCInfo()) \r
- {\r
- Int_t label = TMath::Abs(track->GetLabel()); \r
- TParticle* particle = stack->Particle(label);\r
- if(!particle) return;\r
-\r
- Bool_t prim = stack->IsPhysicalPrimary(label);\r
- if(!particle->GetPDG()) continue;\r
- if((particle->GetPDG()->Charge()/3.) != 0 && multRec > 3) \r
- {\r
- printf("zero true mult event: %d \n", esdEvent->GetEventNumberInFile());\r
- printf("mcVtx %f, label %d, prim %d, mcpt %f, mceta %f, mcphi %f \n", vtxMC[2], label, prim, particle->Pt(), particle->Eta(), particle->Phi());\r
- printf("zv %f, multRec %d, pt %f, eta %f, phi %f \n", vtxESD->GetZv(), multRec, track->Pt(), track->Eta(), track->Phi());\r
- }\r
- }\r
- */\r
}\r
}\r
}\r
\r
if(IsUseMCInfo()) \r
{\r
- /*\r
- //\r
- // multiplicity correlation matrix\r
- //\r
- // check multiplicity\r
- const AliMultiplicity* mult = esdEvent->GetMultiplicity();\r
- Int_t trackletMult = 0;\r
- if (mult) {\r
- for(Int_t i=0; i<mult->GetNumberOfTracklets(); i++) {\r
- if( TMath::Abs(mult->GetEta(i)) < accCuts->GetMaxEta() )\r
- trackletMult++;\r
- }\r
- }\r
- Double_t vMultTrueEventMatrix[2] = { trackletMult,multMCTrueTracks };\r
- */\r
Double_t vMultTrueEventMatrix[2] = { multRec, multMCTrueTracks };\r
-\r
if(isEventOK && isEventTriggered) { \r
if(TMath::Abs(vtxMC[2]) < 10.0) // both Rec. and corresponding MC events must be accepted\r
fEventMultCorrelationMatrix->Fill(vMultTrueEventMatrix);\r