if(fCov[5] != 0) {\r
if(fUseMultiplicity) \r
fHistEventStats->Fill(3,gRefMultiplicity); //proper vertex\r
- else \r
+ else if(fUseCentrality)\r
fHistEventStats->Fill(3,gCentrality); //proper vertex\r
if(TMath::Abs(vertex->GetX()) < fVxMax) {\r
if(TMath::Abs(vertex->GetY()) < fVyMax) {\r
if(TMath::Abs(vertex->GetZ()) < fVzMax) {\r
- if(fUseMultiplicity) \r
+ if(fUseMultiplicity) {\r
+ //cout<<"Filling 4 for multiplicity..."<<endl;\r
fHistEventStats->Fill(4,gRefMultiplicity);//analyzed events\r
- else \r
+ }\r
+ else if(fUseCentrality) {\r
+ //cout<<"Filling 4 for centrality..."<<endl;\r
fHistEventStats->Fill(4,gCentrality); //analyzed events\r
+ }\r
fHistVx->Fill(vertex->GetX());\r
fHistVy->Fill(vertex->GetY());\r
fHistVz->Fill(vertex->GetZ(),gCentrality);\r
\r
// take only events inside centrality class\r
if(fUseCentrality) {\r
+ //cout<<"Centrality..."<<endl;\r
if((gCentrality > fCentralityPercentileMin) && (gCentrality < fCentralityPercentileMax)){\r
fHistEventStats->Fill(5,gCentrality); //events with correct centrality\r
return gCentrality; \r
}\r
// take events only within the same multiplicity class\r
else if(fUseMultiplicity) {\r
+ //cout<<"N(min): "<<fNumberOfAcceptedTracksMin<<" - N(max): "<<fNumberOfAcceptedTracksMax<<" - Nref: "<<gRefMultiplicity<<endl;\r
+\r
if((gRefMultiplicity > fNumberOfAcceptedTracksMin)||(gRefMultiplicity < fNumberOfAcceptedTracksMax)) {\r
fHistEventStats->Fill(5,gRefMultiplicity); //events with correct multiplicity\r
return gRefMultiplicity;\r
\r
//Event characteristics scheme\r
taskBF->SetEventClass(fArgEventClass);\r
- \r
+ if(fArgEventClass == "Multiplicity") \r
+ taskBF->SetMultiplicityRange(centrMin,centrMax);\r
+ else if(fArgEventClass == "Centrality") {\r
+ if(analysisType == "MC")\r
+ taskBF->SetImpactParameterRange(centrMin,centrMax);\r
+ else {\r
+ taskBF->SetCentralityPercentileRange(centrMin,centrMax);\r
+ // centrality estimator (default = V0M)\r
+ taskBF->SetCentralityEstimator(centralityEstimator);\r
+ }\r
+ }\r
+\r
//++++++++++++++++++++++\r
// Efficiency + Contamination corrections\r
// If correctionFileName = "", do not use corrections\r
}\r
}\r
\r
- taskBF->SetCentralityPercentileRange(centrMin,centrMax);\r
if(analysisType == "ESD") {\r
AliESDtrackCuts *trackCuts = GetTrackCutsObject(ptMin,ptMax,etaMin,etaMax,maxTPCchi2,DCAxy,DCAz,minNClustersTPC);\r
taskBF->SetAnalysisCutObject(trackCuts);\r
Bool_t bUseConversionCut = kTRUE;\r
Bool_t bResonancesCut = kTRUE;\r
Bool_t bMomentumDifferenceCut = kTRUE;\r
+Int_t kNSigmaElectronRejection = 3;\r
\r
//______________________________________________________________________________\r
void runBalanceFunctionPsi(\r
}\r
else if((bAOD)&&(!bMCtruth)) {\r
chain = new TChain("aodTree");\r
- for(Int_t i = 10; i < 99; i++) {\r
- filename = "/project/alice/users/alisrm/Efficiency_Contamination/LHC13b3_HIJING_pA_AOD/";\r
+ for(Int_t i = 1; i < 2; i++) {\r
+ filename = "/glusterfs/alice1/alice2/pchrist/pp/LHC10c/7TeV/Data/Set";\r
filename += i; filename += "/AliAOD.root";\r
chain->Add(filename.Data());\r
}\r
// Add physics selection task (NOT needed for AODs)\r
gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskPhysicsSelection.C");\r
AliPhysicsSelectionTask* physSelTask = AddTaskPhysicsSelection(bMCphyssel);\r
+ }\r
\r
- //Add the PID response\r
- if(kUsePID) {\r
- gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskPIDResponse.C");\r
- AddTaskPIDResponse(bMCphyssel); \r
- }\r
+ //Add the PID response\r
+ if((kUsePID)||(kNSigmaElectronRejection)) {\r
+ gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskPIDResponse.C");\r
+ AddTaskPIDResponse(bMCphyssel); \r
}\r
\r
//Add the VZERO event plane task\r
\r
//Add the BF task (all centralities)\r
\r
- gROOT->LoadMacro("AddTaskBalancePsiCentralityTrain.C"); \r
- for (Int_t i = 0; i<numberOfCentralityBins; i++) {\r
- Double_t lowCentralityBinEdge = centralityArray[i];\r
- Double_t highCentralityBinEdge = centralityArray[i+1];\r
- Printf("\nWagon for centrality bin %i: %.0f-%.0f",i,lowCentralityBinEdge,highCentralityBinEdge);\r
- AliAnalysisTaskBFPsi *task = AddTaskBalancePsiCentralityTrain(lowCentralityBinEdge,highCentralityBinEdge,0,1,0,"V0M",vZ[0],DCAxy[0],DCAz[0],ptMin[0],ptMax[0],etaMin[0],etaMax[0],-1,-1,kUsePID,bResonancesCut,bUseHBTCut,bUseConversionCut,bMomentumDifferenceCut,128,0,"AnalysisResults","Centrality","AOD",1); \r
- } // end of for (Int_t i=0; i<numberOfCentralityBins; i++)\r
+ gROOT->LoadMacro("$ALICE_ROOT/PWGCF/EBYE/macros/AddTaskBalancePsiCentralityTrain.C"); \r
+ //for (Int_t i = 0; i<numberOfCentralityBins; i++) {\r
+ //Double_t lowCentralityBinEdge = centralityArray[i];\r
+ //Double_t highCentralityBinEdge = centralityArray[i+1];\r
+ //Printf("\nWagon for centrality bin %i: %.0f-%.0f",i,lowCentralityBinEdge,highCentralityBinEdge);\r
+ //AliAnalysisTaskBFPsi *task = AddTaskBalancePsiCentralityTrain(lowCentralityBinEdge,highCentralityBinEdge,0,1,0,"V0M",vZ[0],DCAxy[0],DCAz[0],ptMin[0],ptMax[0],etaMin[0],etaMax[0],-1,-1,kUsePID,bResonancesCut,bUseHBTCut,bUseConversionCut,bMomentumDifferenceCut,128,0,"AnalysisResults","Centrality","AOD",1); \r
+ //} // end of for (Int_t i=0; i<numberOfCentralityBins; i++)\r
+\r
+ AddTaskBalancePsiCentralityTrain(0, 500, kFALSE, kTRUE, kFALSE, "", 10, -1, -1, 0.2, 20.0, -0.8, 0.8, -1, -1, kUsePID, kTRUE, kTRUE, kTRUE, kTRUE, 0.1, 128, 1, "AnalysisResults","Multiplicity","AOD",kTRUE, kNSigmaElectronRejection);\r
\r
// enable debug printouts\r
//mgr->SetDebugLevel(2);\r