-//=========================================================================//\r
-// //\r
-// Analysis AddTask for Particle Ratio Fluctuation Study //\r
-// Author: Deepika Rathee || Satyajit Jenara //\r
-// drathee@cern.ch || sjena@cern.ch //\r
-// Fri Apr 11 13:31:07 CEST 2013\r
-// //\r
-//=========================================================================//\r
-\r
-void AddAliEbyEParticleRatioFluctuationTask(Double_t vz=10,Double_t ptl=0.5, Double_t pth=5, Int_t AODfilterBit = 768, Int_t pidtype = 2, Int_t requestTofPid = 1, Double_t nSigmaCut = 3., Int_t ikey = 0, TString analdata = "AOD", TString analtype = "PbPb", TString centralityEstimator = "V0M", TString ctaskname = "2011") {\r
-\r
- Double_t vx = 3.; Double_t vy = 3.;\r
-\r
- TString taskname = "EbyECF_";\r
- taskname += ctaskname;\r
- taskname += "_";\r
- taskname += analdata;\r
- taskname += "_";\r
- taskname += analtype;\r
- taskname += "_";\r
- taskname += centralityEstimator;\r
- taskname += "_";\r
- taskname += Form("%d",AODfilterBit);\r
- taskname += "_";\r
- taskname += Form("PT_%.1f_%.1f", ptl, pth);\r
- taskname += "_";\r
-\r
- Bool_t isMC = 0; \r
- if(analdata == "AODMC" || analdata == "MC") \r
- isMC = 1;\r
-\r
- AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();\r
- if (!mgr) {\r
- ::Error("AddTaskFluctuations", "No analysis manager to connect to.");\r
- return NULL;\r
- }\r
-\r
- if (!mgr->GetInputEventHandler()) {\r
- ::Error("AddTaskFluctuations", "This task requires an input event handler");\r
- return NULL;\r
- }\r
- TString type = mgr->GetInputEventHandler()->GetDataType(); \r
-\r
- \r
- TString basefilename = AliAnalysisManager::GetCommonFileName();\r
- \r
- \r
- AliHelperPID* help = new AliHelperPID();\r
- help->SetNSigmaCut(nSigmaCut);\r
- help->SetPIDType(pidtype); \r
- help->SetfRequestTOFPID(requestTofPid);\r
- help->SetfPtTOFPID(ptl);\r
- help->SetisMC(isMC);\r
- \r
- if(ikey == 0 ) {\r
- AliEbyEParticleRatioFluctuationTask *task[8];\r
- AliAnalysisDataContainer *cout[8];\r
- for(Int_t i = 0; i < 8 ; i ++) {\r
- Double_t eta = 0.1 + 0.1*i;\r
- TString taskname1 = taskname;\r
- taskname1 += Form("ETA_%.2f",eta);\r
- task[i] = new AliEbyEParticleRatioFluctuationTask(taskname1.Data());\r
- task[i]->SetVertexDiamond(vx,vy,vz);\r
- task[i]->SetAODtrackCutBit(AODfilterBit);\r
- task[i]->SetKinematicsCuts(ptl,pth,eta);\r
- task[i]->SetHelperPID(help);\r
- mgr->AddTask(task[i]);\r
- \r
- cout[i] = mgr->CreateContainer(Form("%s",taskname1.Data()),TList::Class(), \r
- AliAnalysisManager::kOutputContainer,\r
- Form("%s:CFEbyE_PR",basefilename.Data()));\r
- mgr->ConnectInput(task[i], 0, mgr->GetCommonInputContainer());\r
- mgr->ConnectOutput(task[i], 1, cout[i]);\r
- \r
- }\r
- \r
- AliEbyEParticleRatioFluctuationTask *taskqa;\r
- taskqa = new AliEbyEParticleRatioFluctuationTask("QACFEbyEPR");\r
- // taskqa->SetPIDMethod(1);\r
- taskqa->RunQA();\r
- // taskqa->Debug();\r
- taskqa->SetVertexDiamond(vx,vy,vz);\r
- taskqa->SetAODtrackCutBit(AODfilterBit);\r
- taskqa->SetKinematicsCuts(ptl,pth,0.8);\r
- taskqa->SetHelperPID(help);\r
- mgr->AddTask(taskqa);\r
- \r
- AliAnalysisDataContainer *coutqa \r
- = mgr->CreateContainer(Form("QA_%s",taskname1.Data()),TList::Class(),\r
- AliAnalysisManager::kOutputContainer,\r
- Form("%s:CFEbyE_PR",basefilename.Data()));\r
- mgr->ConnectInput(taskqa, 0, mgr->GetCommonInputContainer());\r
- mgr->ConnectOutput(taskqa, 1, coutqa);\r
- }\r
- else if(ikey > 0 && ikey < 9) {\r
- Double_t eta = 0.1*ikey;\r
- TString taskname1 = taskname;\r
- taskname1 += Form("ETA_%.2f",eta);\r
- AliEbyEParticleRatioFluctuationTask *task1 \r
- = new AliEbyEParticleRatioFluctuationTask(taskname1.Data());\r
- task1->SetVertexDiamond(vx,vy,vz);\r
- task1->SetAODtrackCutBit(AODfilterBit);\r
- task1->SetKinematicsCuts(ptl,pth,eta);\r
- task1->SetHelperPID(help);\r
- mgr->AddTask(task1);\r
- \r
- AliAnalysisDataContainer *cout1 \r
- = mgr->CreateContainer(Form("%s",taskname1.Data()),TList::Class(),\r
- AliAnalysisManager::kOutputContainer,\r
- Form("%s:CFEbyE_PR",basefilename.Data()));\r
- mgr->ConnectInput(task1, 0, mgr->GetCommonInputContainer());\r
- mgr->ConnectOutput(task1, 1, cout1);\r
- \r
- \r
- AliEbyEParticleRatioFluctuationTask *taskqa1;\r
- taskqa1 = new AliEbyEParticleRatioFluctuationTask("QACFEbyEPR");\r
- taskqa1->RunQA();\r
- taskqa1->SetVertexDiamond(vx,vy,vz);\r
- taskqa1->SetAODtrackCutBit(AODfilterBit);\r
- taskqa1->SetKinematicsCuts(ptl,pth,eta);\r
- taskqa1->SetHelperPID(help);\r
- mgr->AddTask(taskqa1);\r
- \r
- AliAnalysisDataContainer *coutqa1 \r
- = mgr->CreateContainer(Form("QA_%s",taskname1.Data()),TList::Class(), \r
- AliAnalysisManager::kOutputContainer,\r
- Form("%s:CFEbyE_PR",basefilename.Data()));\r
- mgr->ConnectInput(taskqa1, 0, mgr->GetCommonInputContainer());\r
- mgr->ConnectOutput(taskqa1, 1, coutqa1);\r
- \r
- } else return;\r
-\r
- return;\r
-}\r
+//=========================================================================//
+// //
+// Analysis AddTask for Particle Ratio Fluctuation Study //
+// Author: Deepika Rathee || Satyajit Jenara //
+// drathee@cern.ch || sjena@cern.ch //
+// Fri Apr 11 13:31:07 CEST 2013
+// //
+//=========================================================================//
+
+void AddAliEbyEParticleRatioFluctuationTask(Double_t vz=10,Double_t ptl=0.5, Double_t pth=5, Int_t AODfilterBit = 768, Int_t pidtype = 2, Int_t requestTofPid = 1, Double_t nSigmaCut = 3., Int_t ikey = 0, TString analdata = "AOD", TString analtype = "PbPb", TString centralityEstimator = "V0M", TString ctaskname = "2011") {
+
+ Double_t vx = 3.; Double_t vy = 3.;
+
+ TString taskname = "EbyECF_";
+ taskname += ctaskname;
+ taskname += "_";
+ taskname += analdata;
+ taskname += "_";
+ taskname += analtype;
+ taskname += "_";
+ taskname += centralityEstimator;
+ taskname += "_";
+ taskname += Form("%d",AODfilterBit);
+ taskname += "_";
+ taskname += Form("PT_%.1f_%.1f", ptl, pth);
+ taskname += "_";
+
+ Bool_t isMC = 0;
+ if(analdata == "AODMC" || analdata == "MC")
+ isMC = 1;
+
+ AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
+ if (!mgr) {
+ ::Error("AddTaskFluctuations", "No analysis manager to connect to.");
+ return NULL;
+ }
+
+ if (!mgr->GetInputEventHandler()) {
+ ::Error("AddTaskFluctuations", "This task requires an input event handler");
+ return NULL;
+ }
+ TString type = mgr->GetInputEventHandler()->GetDataType();
+
+
+ TString basefilename = AliAnalysisManager::GetCommonFileName();
+
+
+ AliHelperPID* help = new AliHelperPID();
+ help->SetNSigmaCut(nSigmaCut);
+ help->SetPIDType(pidtype);
+ help->SetfRequestTOFPID(requestTofPid);
+ help->SetfPtTOFPID(ptl);
+ help->SetisMC(isMC);
+
+ if(ikey == 0 ) {
+ AliEbyEParticleRatioFluctuationTask *task[8];
+ AliAnalysisDataContainer *cout[8];
+ for(Int_t i = 0; i < 8 ; i ++) {
+ Double_t eta = 0.1 + 0.1*i;
+ TString taskname1 = taskname;
+ taskname1 += Form("ETA_%.2f",eta);
+ task[i] = new AliEbyEParticleRatioFluctuationTask(taskname1.Data());
+ task[i]->SetVertexDiamond(vx,vy,vz);
+ task[i]->SetAODtrackCutBit(AODfilterBit);
+ task[i]->SetKinematicsCuts(ptl,pth,eta);
+ task[i]->SetHelperPID(help);
+ mgr->AddTask(task[i]);
+
+ cout[i] = mgr->CreateContainer(Form("%s",taskname1.Data()),TList::Class(),
+ AliAnalysisManager::kOutputContainer,
+ Form("%s:CFEbyE_PR",basefilename.Data()));
+ mgr->ConnectInput(task[i], 0, mgr->GetCommonInputContainer());
+ mgr->ConnectOutput(task[i], 1, cout[i]);
+
+ }
+
+ AliEbyEParticleRatioFluctuationTask *taskqa;
+ taskqa = new AliEbyEParticleRatioFluctuationTask("QACFEbyEPR");
+ // taskqa->SetPIDMethod(1);
+ taskqa->RunQA();
+ // taskqa->Debug();
+ taskqa->SetVertexDiamond(vx,vy,vz);
+ taskqa->SetAODtrackCutBit(AODfilterBit);
+ taskqa->SetKinematicsCuts(ptl,pth,0.8);
+ taskqa->SetHelperPID(help);
+ mgr->AddTask(taskqa);
+
+ AliAnalysisDataContainer *coutqa
+ = mgr->CreateContainer(Form("QA_%s",taskname1.Data()),TList::Class(),
+ AliAnalysisManager::kOutputContainer,
+ Form("%s:CFEbyE_PR",basefilename.Data()));
+ mgr->ConnectInput(taskqa, 0, mgr->GetCommonInputContainer());
+ mgr->ConnectOutput(taskqa, 1, coutqa);
+ }
+ else if(ikey > 0 && ikey < 9) {
+ Double_t eta = 0.1*ikey;
+ TString taskname1 = taskname;
+ taskname1 += Form("ETA_%.2f",eta);
+ AliEbyEParticleRatioFluctuationTask *task1
+ = new AliEbyEParticleRatioFluctuationTask(taskname1.Data());
+ task1->SetVertexDiamond(vx,vy,vz);
+ task1->SetAODtrackCutBit(AODfilterBit);
+ task1->SetKinematicsCuts(ptl,pth,eta);
+ task1->SetHelperPID(help);
+ mgr->AddTask(task1);
+
+ AliAnalysisDataContainer *cout1
+ = mgr->CreateContainer(Form("%s",taskname1.Data()),TList::Class(),
+ AliAnalysisManager::kOutputContainer,
+ Form("%s:CFEbyE_PR",basefilename.Data()));
+ mgr->ConnectInput(task1, 0, mgr->GetCommonInputContainer());
+ mgr->ConnectOutput(task1, 1, cout1);
+
+
+ AliEbyEParticleRatioFluctuationTask *taskqa1;
+ taskqa1 = new AliEbyEParticleRatioFluctuationTask("QACFEbyEPR");
+ taskqa1->RunQA();
+ taskqa1->SetVertexDiamond(vx,vy,vz);
+ taskqa1->SetAODtrackCutBit(AODfilterBit);
+ taskqa1->SetKinematicsCuts(ptl,pth,eta);
+ taskqa1->SetHelperPID(help);
+ mgr->AddTask(taskqa1);
+
+ AliAnalysisDataContainer *coutqa1
+ = mgr->CreateContainer(Form("QA_%s",taskname1.Data()),TList::Class(),
+ AliAnalysisManager::kOutputContainer,
+ Form("%s:CFEbyE_PR",basefilename.Data()));
+ mgr->ConnectInput(taskqa1, 0, mgr->GetCommonInputContainer());
+ mgr->ConnectOutput(taskqa1, 1, coutqa1);
+
+ } else return;
+
+ return;
+}