7 TString finAnObjname=
"AnalysisCuts",
8 Bool_t CalculateSphericity=kFALSE,
9 Int_t SoSparseChecks=0,
21 Bool_t subtractDauFromSphero=kFALSE,
22 Bool_t RemoveD0fromDstar=kFALSE,
37 ::Error(
"AddTaskDvsEventShapes",
"No analysis manager to connect to.");
45 filecuts=TFile::Open(
filename.Data());
46 if(!filecuts ||(filecuts&& !filecuts->IsOpen())){
47 AliFatal(
"Input file not found : check your cut object");
64 }
else if(pdgMeson==421){
72 }
else if(pdgMeson==413){
84 dEvtShapeTask->SetDebugLevel(0);
99 TH1F *hNchPrimaries = NULL;
100 TH1F *hMeasNchPrimaries = NULL;
103 hNchPrimaries = (TH1F*)filecuts->Get(
"hNtrUnCorrEvWithDWeight");
105 else hNchPrimaries = (TH1F*)filecuts->Get(
"hGenPrimaryParticlesInelGt0");
110 AliFatal(
"Histogram for Nch multiplicity weights not found");
113 hMeasNchPrimaries = (TH1F*)filecuts->Get(
"hMeasNtrUnCorrEvWithD");
114 if(hMeasNchPrimaries) {
118 else if(NchWeight==2){
119 hNchPrimaries = (TH1F*)filecuts->Get(
"hNtrUnCorrEvWithDWeight");
120 hMeasNchPrimaries = (TH1F*)filecuts->Get(
"hMeasNtrUnCorrEvWithD");
121 if(hNchPrimaries && hMeasNchPrimaries) {
126 AliFatal(
"Histogram for Ntrk multiplicity weights not found");
136 }
else if(pdgMeson==411)dEvtShapeTask->
SetMassLimits(pdgMeson,0.2);
138 if(estimatorFilename.EqualTo(
"") ) {
139 printf(
"Estimator file not provided, multiplcity corrected histograms will not be filled\n");
142 TFile* fileEstimator=TFile::Open(estimatorFilename.Data());
144 AliFatal(
"File with multiplicity estimator not found\n");
150 const Char_t* profilebasename=
"SPDmult10";
153 cout<<endl<<endl<<
" profilebasename="<<profilebasename<<endl<<endl;
156 const Char_t* periodNames[2] = {
"LHC13b",
"LHC13c"};
157 TProfile* multEstimatorAvg[2];
158 for(
Int_t ip=0; ip<2; ip++) {
159 cout<<
" Trying to get "<<Form(
"%s_%s",profilebasename,periodNames[ip])<<endl;
160 multEstimatorAvg[ip] = (TProfile*)(fileEstimator->Get(Form(
"%s_%s",profilebasename,periodNames[ip]))->Clone(Form(
"%s_%s_clone",profilebasename,periodNames[ip])));
161 if (!multEstimatorAvg[ip]) {
162 AliFatal(Form(
"Multiplicity estimator for %s not found! Please check your estimator file",periodNames[ip]));
170 const Char_t* periodNames[4] = {
"LHC10b",
"LHC10c",
"LHC10d",
"LHC10e"};
171 TProfile* multEstimatorAvg[4];
172 for(
Int_t ip=0; ip<4; ip++) {
173 multEstimatorAvg[ip] = (TProfile*)(fileEstimator->Get(Form(
"%s_%s",profilebasename,periodNames[ip]))->Clone(Form(
"%s_%s_clone",profilebasename,periodNames[ip])));
174 if (!multEstimatorAvg[ip]) {
175 AliFatal(Form(
"Multiplicity estimator for %s not found! Please check your estimator file",periodNames[ip]));
185 mgr->AddTask(dEvtShapeTask);
191 TString cutsname =
"coutputCuts";
192 TString normname =
"coutputNorm";
193 TString profname =
"coutputProf";
194 TString effname =
"coutputEffCorr";
196 inname += Name.Data();
197 outname += Name.Data();
198 cutsname += Name.Data();
199 normname += Name.Data();
200 profname += Name.Data();
201 effname += Name.Data();
202 inname += finDirname.Data();
203 outname += finDirname.Data();
204 cutsname += finDirname.Data();
205 normname += finDirname.Data();
206 profname += finDirname.Data();
207 effname += finDirname.Data();
209 AliAnalysisDataContainer *cinput = mgr->CreateContainer(inname,TChain::Class(),AliAnalysisManager::kInputContainer);
211 TString outputfile = AliAnalysisManager::GetCommonFileName();
212 outputfile +=
":PWG3_D2H_DEvtShape_";
213 outputfile += Name.Data();
214 outputfile += finDirname.Data();
216 AliAnalysisDataContainer *coutputCuts = mgr->CreateContainer(cutsname,TList::Class(),AliAnalysisManager::kOutputContainer,outputfile.Data());
217 AliAnalysisDataContainer *coutput = mgr->CreateContainer(outname,TList::Class(),AliAnalysisManager::kOutputContainer,outputfile.Data());
218 AliAnalysisDataContainer *coutputNorm = mgr->CreateContainer(normname,TList::Class(),AliAnalysisManager::kOutputContainer,outputfile.Data());
219 AliAnalysisDataContainer *coutputProf = mgr->CreateContainer(profname,TList::Class(),AliAnalysisManager::kOutputContainer,outputfile.Data());
220 if(readMC) AliAnalysisDataContainer *coutputEffCorr = mgr->CreateContainer(effname,TList::Class(),AliAnalysisManager::kOutputContainer,outputfile.Data());
223 mgr->ConnectInput(dEvtShapeTask,0,mgr->GetCommonInputContainer());
225 mgr->ConnectOutput(dEvtShapeTask,1,coutput);
226 mgr->ConnectOutput(dEvtShapeTask,2,coutputCuts);
227 mgr->ConnectOutput(dEvtShapeTask,3,coutputNorm);
228 mgr->ConnectOutput(dEvtShapeTask,4,coutputProf);
229 if(readMC) mgr->ConnectOutput(dEvtShapeTask,5,coutputEffCorr);
231 return dEvtShapeTask;
void SetMCPrimariesEstimator(Int_t value)
void SetCalculationsForSphericity(Bool_t CalSpheri)
void SetRemoveD0fromDstar(Bool_t RemoveD0fromDstar)
void SetMeasuredNchHisto(TH1F *h)
void SetReferenceMultiplcity(Double_t rmu)
void SetMCOption(Int_t option=0)
void SetEventShapeParameters(Double_t ptMin, Double_t ptMax, Double_t etaMin, Double_t etaMax, Int_t minMult, Double_t phiStepSizeDeg, Int_t filtbit1, Int_t filtbit2)
Class for cuts on AOD reconstructed D+->Kpipi.
void UsePtWeight(Bool_t flag)
void SetMultiplicityEstimator(Int_t value)
void SetSubtractTrackletsFromDaughters(Bool_t opt)
void SetMultiplVsZProfileLHC10b(TProfile *hprof)
void SetRecomputeSpherocityWithoutDau(Bool_t RecomputeSphero)
void SetUseBit(Bool_t use=kTRUE)
void SetMassLimits(Double_t lowlimit, Double_t uplimit)
void SetHistoNchWeight(TH1F *h)
void SetFillSoSparseForMultUncorrNoPid(Int_t flag)
virtual void SetStandardCutsPbPb2011()
void SetMultiplVsZProfileLHC10c(TProfile *hprof)
void UseMCNchWeight(Int_t flag)
void SetMultiplVsZProfileLHC13c(TProfile *hprof)
virtual void SetStandardCutsPP2010()
void SetMultiplVsZProfileLHC13b(TProfile *hprof)
void SetIsPPbData(Bool_t flag=kTRUE)
void SetMultiplVsZProfileLHC10e(TProfile *hprof)
void SetReadMC(Bool_t readMC=kTRUE)
AliAnalysisTaskSEDvsEventShapes * AddTaskDvsEventShapes(Int_t system=0, Bool_t readMC=kFALSE, Int_t MCOption=0, Int_t pdgMeson=411, TString finDirname="Loose", TString filename="", TString finAnObjname="AnalysisCuts", Bool_t CalculateSphericity=kFALSE, Int_t SoSparseChecks=0, Double_t ptMin=0.15, Double_t ptMax=10., Double_t etaMin=-0.8, Double_t etaMax=0.8, Int_t minMult=3, Double_t phiStepSizeDeg=0.1, Int_t filtbit1=256, Int_t filtbit2=512, TString estimatorFilename="", Double_t refMult=9.26, Bool_t subtractDau=kFALSE, Bool_t subtractDauFromSphero=kFALSE, Bool_t RemoveD0fromDstar=kFALSE, Int_t NchWeight=0, Bool_t PtWeight=kFALSE, Int_t recoEstimator=AliAnalysisTaskSEDvsEventShapes::kNtrk10, Int_t MCEstimator=AliAnalysisTaskSEDvsEventShapes::kEta10, Bool_t isPPbData=kFALSE)
void SetNMassBins(Int_t nbins)
void SetMultiplVsZProfileLHC10d(TProfile *hprof)
void SetDoImpactParameterHistos(Bool_t doImp=kTRUE)