]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWGLF/SPECTRA/PiKaPr/TestAOD/AddTaskSpectraAOD.C
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWGLF / SPECTRA / PiKaPr / TestAOD / AddTaskSpectraAOD.C
index c0a7ecb5d2755abb5825dbbddaf1a48c51a70416..2c040b35c4704bb36ce944c41aa18d7d33dc1813 100644 (file)
-AliAnalysisTaskSpectraAOD* AddTaskSpectraAOD(Bool_t mc=kTRUE,\r
-                                            Double_t CentCutMin=0,\r
-                                            Double_t CentCutMax=100,\r
-                                            Double_t QvecCutMin=0,\r
-                                            Double_t QvecCutMax=100,\r
-                                            Double_t EtaMin=-0.8,\r
-                                            Double_t EtaMax=0.8,\r
-                                            Double_t Nsigmapid=3.,\r
-                                            Double_t pt=5.,\r
-                                            Double_t p=5.,\r
-                                            Double_t y=.5,\r
-                                            Double_t ptTofMatch=.6,\r
-                                            UInt_t trkbit=1,\r
-                                            UInt_t trkbitQVector=1,\r
-                                            Bool_t UseCentPatchAOD049=kFALSE,\r
-                                            Double_t DCA=100000,\r
-                                            UInt_t minNclsTPC=70,\r
-                                            ){\r
-  \r
-  AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();\r
-  if (!mgr) \r
-    {\r
-      ::Error("AddAliAnalysisTaskSpectraAOD", "No analysis manager to connect to.");\r
-      return NULL;\r
-    }   \r
-  \r
-  // Check the analysis type using the event handlers connected to the analysis manager.\r
-  //==============================================================================\r
-  if (!mgr->GetInputEventHandler()) \r
-    {\r
-      ::Error("AddTaskITSsaTracks", "This task requires an input event handler");\r
-      return NULL;\r
-    }   \r
-  \r
-  TString type = mgr->GetInputEventHandler()->GetDataType(); // can be "ESD" or "AOD"\r
-  if(type.Contains("ESD"))\r
-    {\r
-      ::Error("AddTaskITSsaTracks", "This task requires to run on AOD");\r
-      return NULL;\r
-    }\r
-  \r
-  using namespace AliSpectraNameSpace;\r
-  \r
-  AliSpectraAODPID *pid = new AliSpectraAODPID(); \r
-  pid->SetNSigmaCut(Nsigmapid);\r
-  \r
-  AliSpectraAODTrackCuts  * trcuts = new AliSpectraAODTrackCuts("Track Cuts");  \r
-  trcuts->SetDCA(DCA);\r
-  trcuts->SetTrackBits(trkbit);\r
-  trcuts->SetPt(pt);\r
-  trcuts->SetP(p);\r
-  trcuts->SetY(y);\r
-  trcuts->SetPtTOFMatching(ptTofMatch);   \r
-  trcuts->SetEta(EtaMin,EtaMax);\r
-  trcuts->SetMinTPCcls(minNclsTPC);\r
-  trcuts->PrintCuts();\r
-  \r
-  AliSpectraAODEventCuts * evcuts = new AliSpectraAODEventCuts("Event Cuts");\r
-  evcuts->SetQVectorCut(QvecCutMin,QvecCutMax);\r
-  evcuts->SetCentralityCutMax(CentCutMax);  \r
-  evcuts->SetCentralityCutMin(CentCutMin);\r
-  evcuts->SetTrackBits(trkbitQVector);\r
-  if(mc==1)evcuts->SetIsMC(kTRUE);\r
-  evcuts->PrintCuts();\r
-  \r
-  AliAnalysisTaskSpectraAOD *task = new AliAnalysisTaskSpectraAOD(Form("TaskAODSpectraCent%.0fto%.0f_QVec%.1fto%.1f_Eta%.1fto%.1f_%.1fSigmaPID_TrBit%d",       \r
-                                                                      CentCutMin,\r
-                                                                      CentCutMax,\r
-                                                                      QvecCutMin,\r
-                                                                      QvecCutMax,\r
-                                                                      EtaMin,\r
-                                                                      EtaMax,\r
-                                                                      Nsigmapid,\r
-                                                                      trkbit));\r
-  task->SetPID(pid);  \r
-  task->SetEventCuts(evcuts);\r
-  task->SetTrackCuts(trcuts);\r
-  if(mc==1)task->SetIsMC(kTRUE);\r
-  \r
-  TString outputFileName = AliAnalysisManager::GetCommonFileName();\r
-  \r
-  TString typeofdata=mc?"MC":"Data";\r
-  \r
-  outputFileName += Form(":OutputAODSpectraTask_%s_Cent%.0fto%.0f_QVec%.1fto%.1f_Eta%.1fto%.1f_%.1fSigmaPID_TrBit%d.root",typeofdata.Data(),evcuts->GetCentralityMin(),evcuts->GetCentralityMax(),evcuts->GetQVectorCutMin(), evcuts->GetQVectorCutMax(),trcuts->GetEtaMin(),trcuts->GetEtaMax(),pid->GetNSigmaCut(),trcuts->GetTrackType());\r
-  \r
-  cout<<outputFileName<<endl;\r
-  AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();      \r
-  AliAnalysisDataContainer *coutputpt1 = mgr->CreateContainer("chistpt", AliSpectraAODHistoManager::Class(),  AliAnalysisManager::kOutputContainer,outputFileName);\r
-  AliAnalysisDataContainer *coutputpt2 = mgr->CreateContainer("cvcutpt", AliSpectraAODEventCuts::Class(),    AliAnalysisManager::kOutputContainer,outputFileName);\r
-  AliAnalysisDataContainer *coutputpt3 = mgr->CreateContainer("ctcutpt%d", AliSpectraAODTrackCuts::Class(),     AliAnalysisManager::kOutputContainer, outputFileName);\r
-  AliAnalysisDataContainer *coutputpt4 = mgr->CreateContainer("cpidpt%d",  AliSpectraAODPID::Class(),     AliAnalysisManager::kOutputContainer,outputFileName);\r
-  \r
-  mgr->ConnectInput(task, 0, cinput);\r
-  mgr->ConnectOutput(task, 1, coutputpt1);\r
-  mgr->ConnectOutput(task, 2, coutputpt2);\r
-  mgr->ConnectOutput(task, 3, coutputpt3);\r
-  mgr->ConnectOutput(task, 4, coutputpt4);\r
-  return task;\r
-  \r
-  mgr->AddTask(task);\r
-  return task;\r
-}\r
+AliAnalysisTaskSpectraAOD* AddTaskSpectraAOD(Bool_t mc=kFALSE,
+                                            Double_t CentCutMin=0,
+                                            Double_t CentCutMax=100,
+                                            Double_t QvecCutMin=0,
+                                            Double_t QvecCutMax=100,
+                                            Double_t EtaMin=-0.8,
+                                            Double_t EtaMax=0.8,
+                                            Double_t Nsigmapid=3.,
+                                            Double_t pt=5.,
+                                            Double_t p=5.,
+                                            Double_t y=.5,
+                                            Double_t ptTofMatch=.6,
+                                            UInt_t trkbit=1,
+                                            UInt_t trkbitQVector=1,
+                                            Double_t DCA=100000,
+                                            UInt_t minNclsTPC=70,
+                                            Int_t nrebin=0,
+                                            TString opt=""){
+  
+  AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
+  if (!mgr) 
+    {
+      ::Error("AddAliAnalysisTaskSpectraAOD", "No analysis manager to connect to.");
+      return NULL;
+    }   
+  
+  // Check the analysis type using the event handlers connected to the analysis manager.
+  //==============================================================================
+  if (!mgr->GetInputEventHandler()) 
+    {
+      ::Error("AddTaskITSsaTracks", "This task requires an input event handler");
+      return NULL;
+    }   
+  
+  TString type = mgr->GetInputEventHandler()->GetDataType(); // can be "ESD" or "AOD"
+  if(type.Contains("ESD"))
+    {
+      ::Error("AddTaskITSsaTracks", "This task requires to run on AOD");
+      return NULL;
+    }
+  
+  using namespace AliSpectraNameSpace;
+  
+  AliSpectraAODPID *pid = new AliSpectraAODPID(); 
+  pid->SetNSigmaCut(Nsigmapid);
+  
+  AliSpectraAODTrackCuts  * trcuts = new AliSpectraAODTrackCuts("Track Cuts");  
+  trcuts->SetDCA(DCA);
+  trcuts->SetTrackBits(trkbit);
+  trcuts->SetPt(pt);
+  trcuts->SetP(p);
+  trcuts->SetY(y);
+  trcuts->SetPtTOFMatching(ptTofMatch);   
+  trcuts->SetEta(EtaMin,EtaMax);
+  trcuts->SetMinTPCcls(minNclsTPC);
+  trcuts->PrintCuts();
+  
+  AliSpectraAODEventCuts * evcuts = new AliSpectraAODEventCuts("Event Cuts");
+  evcuts->SetQVectorCut(QvecCutMin,QvecCutMax);
+  evcuts->SetCentralityCutMax(CentCutMax);  
+  evcuts->SetCentralityCutMin(CentCutMin);
+  evcuts->SetTrackBits(trkbitQVector);
+  if(mc==1)evcuts->SetIsMC(kTRUE);
+  evcuts->PrintCuts();
+  
+  AliAnalysisTaskSpectraAOD *task = new AliAnalysisTaskSpectraAOD(Form("TaskAODSpectraCent%.0fto%.0f_QVec%.1fto%.1f_Eta%.1fto%.1f_%.1fSigmaPID_TrBit%d%s",     
+                                                                      CentCutMin,
+                                                                      CentCutMax,
+                                                                      QvecCutMin,
+                                                                      QvecCutMax,
+                                                                      EtaMin,
+                                                                      EtaMax,
+                                                                      Nsigmapid,
+                                                                      trkbit,
+                                                                      opt.Data()));
+  task->SetPID(pid);  
+  task->SetEventCuts(evcuts);
+  task->SetTrackCuts(trcuts);
+  task->SetNRebin(nrebin);
+  if(mc==1)task->SetIsMC(kTRUE);
+  
+  TString outputFileName = AliAnalysisManager::GetCommonFileName();
+  
+  TString typeofdata=mc?"MC":"Data";
+  
+  outputFileName += Form(":OutputAODSpectraTask_%s_Cent%.0fto%.0f_QVec%.1fto%.1f_Eta%.1fto%.1f_%.1fSigmaPID_TrBit%d%s",typeofdata.Data(),evcuts->GetCentralityMin(),evcuts->GetCentralityMax(),evcuts->GetQVectorCutMin(), evcuts->GetQVectorCutMax(),trcuts->GetEtaMin(),trcuts->GetEtaMax(),pid->GetNSigmaCut(),trcuts->GetTrackType(),opt.Data());
+  
+  cout<<"outputFileName:  "<<outputFileName<<endl;
+  AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();      
+  AliAnalysisDataContainer *coutputpt1 = mgr->CreateContainer("chistpt", AliSpectraAODHistoManager::Class(),  AliAnalysisManager::kOutputContainer,outputFileName);
+  AliAnalysisDataContainer *coutputpt2 = mgr->CreateContainer("cvcutpt", AliSpectraAODEventCuts::Class(),    AliAnalysisManager::kOutputContainer,outputFileName);
+  AliAnalysisDataContainer *coutputpt3 = mgr->CreateContainer("ctcutpt", AliSpectraAODTrackCuts::Class(),     AliAnalysisManager::kOutputContainer, outputFileName);
+  AliAnalysisDataContainer *coutputpt4 = mgr->CreateContainer("cpidpt",  AliSpectraAODPID::Class(),     AliAnalysisManager::kOutputContainer,outputFileName);
+
+  mgr->AddTask(task);
+  
+  mgr->ConnectInput(task, 0, cinput);
+  mgr->ConnectOutput(task, 1, coutputpt1);
+  mgr->ConnectOutput(task, 2, coutputpt2);
+  mgr->ConnectOutput(task, 3, coutputpt3);
+  mgr->ConnectOutput(task, 4, coutputpt4);
+
+  return task;
+}