]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWGGA/GammaConv/macros/AddTask_PhotonQA.C
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWGGA / GammaConv / macros / AddTask_PhotonQA.C
index b5c0ed7e8667b055ee74e6d516713adeb69b6947..3c9a7cb09629726c2cc712585b50cd981a8120eb 100644 (file)
-void AddTask_PhotonQA(  TString V0ReaderCutNumber = "0000000060084001001500000000", 
-                        TString TaskCutnumber = "0000000090092663743800000000",
-                        Bool_t IsMC = kFALSE,
-                        Int_t IsHeavyIon = 0,
-                        Bool_t kHistograms = kTRUE, 
-                        Bool_t kTree = kTRUE,
-                        TString V0ReaderCutNumberAODBranch = "0000000060084001001500000", 
-                        Bool_t runBasicQAWithStandardOutput = kTRUE,
-                        Bool_t doEtaShiftV0Reader = kFALSE 
+void AddTask_PhotonQA( TString V0ReaderEventCutNumber  = "0000000", 
+                                               TString V0ReaderPhotonCutNumber = "060000084001001500000000", 
+                                               TString TaskEventCutnumber              = "0000000",
+                                               TString TaskPhotonCutnumber     = "090000092663743800000000",
+                                               Bool_t IsMC = kFALSE,
+                                               Int_t IsHeavyIon = 0,
+                                               Bool_t kHistograms = kTRUE, 
+                                               Bool_t kTree = kTRUE,
+                                               TString V0ReaderCutNumberAODBranch = "0000000060084001001500000", 
+                                               Bool_t runBasicQAWithStandardOutput = kTRUE,
+                                               Bool_t doEtaShiftV0Reader = kFALSE 
                      ){
-             
-   // Suitable Cutnumbers for the V0 Reader for
-   // PbPb: V0ReaderCutNumber =  "1000000060084001001500000000"; (V0Mult MC)
-   //  or   V0ReaderCutNumber =  "5000000060084001001500000000" (TPC mult MC)
-   // pPb: V0ReaderCutNumber =   "8000000060084001001500000000";
-   // pp: V0ReaderCutNumber =    "0000000060084001001500000000";
+       
+       // ================= Load Librariers =================================
+       gSystem->Load("libCore");
+       gSystem->Load("libTree");
+       gSystem->Load("libGeom");
+       gSystem->Load("libVMC");
+       gSystem->Load("libPhysics");
+       gSystem->Load("libMinuit");
+       gSystem->Load("libSTEERBase");
+       gSystem->Load("libESD");
+       gSystem->Load("libAOD");
+       gSystem->Load("libANALYSIS");
+       gSystem->Load("libANALYSISalice");  
+       gSystem->Load("libCDB");
+       gSystem->Load("libSTEER");
+       gSystem->Load("libSTEERBase");
+       gSystem->Load("libTender");
+       gSystem->Load("libTenderSupplies");
+       gSystem->Load("libPWGflowBase");
+       gSystem->Load("libPWGflowTasks");
+       gSystem->Load("libPWGGAGammaConv");
+       
+       // ================== GetAnalysisManager ===============================
+       AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
+       if (!mgr) {
+               Error(Form("AddTask_GammaConvV1_%i",trainConfig), "No analysis manager found.");
+               return ;
+       }
 
-   
-   // ================= Load Librariers =================================
-   gSystem->Load("libCore.so");  
-   gSystem->Load("libTree.so");
-   gSystem->Load("libGeom.so");
-   gSystem->Load("libVMC.so");
-   gSystem->Load("libPhysics.so");
-   gSystem->Load("libMinuit");
-   gSystem->Load("libSTEERBase");
-   gSystem->Load("libESD");
-   gSystem->Load("libAOD");
-   gSystem->Load("libANALYSIS");
-   gSystem->Load("libANALYSISalice");  
-   gSystem->Load("libPWGGAGammaConv.so");
-   gSystem->Load("libCDB.so");
-   gSystem->Load("libSTEER.so");
-   gSystem->Load("libSTEERBase.so");
-   gSystem->Load("libTENDER.so");
-   gSystem->Load("libTENDERSupplies.so");
-      
-   // ================== GetAnalysisManager ===============================
-   AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
-   if (!mgr) {
-      Error(Form("AddTask_GammaConvV1_%i",trainConfig), "No analysis manager found.");
-      return ;
-   }
+       // ================== GetInputEventHandler =============================
+       AliVEventHandler *inputHandler=mgr->GetInputEventHandler();
+       
+       //========= Add PID Reponse to ANALYSIS manager ====
+       if(!(AliPIDResponse*)mgr->GetTask("PIDResponseTask")){
+               gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskPIDResponse.C");
+               AddTaskPIDResponse(isMC);
+       }
 
-   // ================== GetInputEventHandler =============================
-   AliVEventHandler *inputHandler=mgr->GetInputEventHandler();
-   
-   //========= Add PID Reponse to ANALYSIS manager ====
-   if(!(AliPIDResponse*)mgr->GetTask("PIDResponseTask")){
-      gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskPIDResponse.C");
-      AddTaskPIDResponse(isMC);
-   }
+       AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();
+       if( !(AliV0ReaderV1*)mgr->GetTask("V0ReaderV1") ){
+               AliV0ReaderV1 *fV0ReaderV1 = new AliV0ReaderV1("V0ReaderV1");
+               
+               fV0ReaderV1->SetUseOwnXYZCalculation(kTRUE);
+               fV0ReaderV1->SetCreateAODs(kFALSE);// AOD Output
+               fV0ReaderV1->SetUseAODConversionPhoton(kTRUE);
 
-   AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();
-   if( !(AliV0ReaderV1*)mgr->GetTask("V0ReaderV1") ){
-      AliV0ReaderV1 *fV0ReaderV1 = new AliV0ReaderV1("V0ReaderV1");
-      
-      fV0ReaderV1->SetUseOwnXYZCalculation(kTRUE);
-      fV0ReaderV1->SetCreateAODs(kFALSE);// AOD Output
-      fV0ReaderV1->SetUseAODConversionPhoton(kTRUE);
+               if (!mgr) {
+                       Error("AddTask_V0ReaderV1", "No analysis manager found.");
+                       return;
+               }
 
-      if (!mgr) {
-         Error("AddTask_V0ReaderV1", "No analysis manager found.");
-         return;
-      }
+               AliConvEventCuts *fEventCuts=NULL;
+               if(V0ReaderEventCutNumber!=""){
+                       fEventCuts= new AliConvEventCuts(V0ReaderEventCutNumber.Data(),V0ReaderEventCutNumber.Data());
+                       fEventCuts->SetPreSelectionCutFlag(kTRUE);
+                       if(fEventCuts->InitializeCutsFromCutString(V0ReaderEventCutNumber.Data())){
+                               fV0ReaderV1->SetEventCuts(fEventCuts);
+                               fEventCuts->SetFillCutHistograms("",kTRUE);
+                               if (IsHeavyIon==2){
+                                       fEventCuts->SelectCollisionCandidates(AliVEvent::kINT7);
+                                       fEventCuts->DoEtaShift(doEtaShiftV0Reader);
+                               }
+                       }
+               }
 
-      // Set AnalysisCut Number
-      AliConversionCuts *fCuts=NULL;
-      if(V0ReaderCutNumber!=""){
-         fCuts= new AliConversionCuts(V0ReaderCutNumber.Data(),V0ReaderCutNumber.Data());
-         fCuts->SetPreSelectionCutFlag(kTRUE);
-         if(fCuts->InitializeCutsFromCutString(V0ReaderCutNumber.Data())){
-            if (IsHeavyIon==2){
-               fCuts->SelectCollisionCandidates(AliVEvent::kINT7);
-               fCuts->DoEtaShift(doEtaShiftV0Reader);
-            }
-            fV0ReaderV1->SetConversionCuts(fCuts);
-            fCuts->SetFillCutHistograms("",kFALSE);
-         }
-      }
-      
+               // Set AnalysisCut Number
+               AliConversionPhotonCuts *fCuts=NULL;
+               if(V0ReaderPhotonCutNumber!=""){
+                       fCuts= new AliConversionPhotonCuts(V0ReaderPhotonCutNumber.Data(),V0ReaderPhotonCutNumber.Data());
+                       fCuts->SetPreSelectionCutFlag(kTRUE);
+                       fCuts->SetIsHeavyIon(IsHeavyIon);
+                       if(fCuts->InitializeCutsFromCutString(V0ReaderPhotonCutNumber.Data())){
+                               fV0ReaderV1->SetConversionCuts(fCuts);
+                               fCuts->SetFillCutHistograms("",kTRUE);
+                       }
+               }
+     
       
-      if(inputHandler->IsA()==AliAODInputHandler::Class()){
-         // AOD mode
-         fV0ReaderV1->SetDeltaAODBranchName(Form("GammaConv_%s_gamma",V0ReaderCutNumberAODBranch.Data()));
-      }
-      fV0ReaderV1->Init();
-
-      AliLog::SetGlobalLogLevel(AliLog::kInfo);
-
-      //connect input V0Reader
-      mgr->AddTask(fV0ReaderV1);
-      mgr->ConnectInput(fV0ReaderV1,0,cinput);
+               if(inputHandler->IsA()==AliAODInputHandler::Class()){
+                       // AOD mode
+                       fV0ReaderV1->SetDeltaAODBranchName(Form("GammaConv_%s_gamma",V0ReaderCutNumberAODBranch.Data()));
+               }
+               fV0ReaderV1->Init();
 
-   } else {
-      Error("AddTask_V0ReaderV1", "Cannot execute AddTask, V0ReaderV1 already exists.");
-   }   
+               AliLog::SetGlobalLogLevel(AliLog::kInfo);
 
+               //connect input V0Reader
+               mgr->AddTask(fV0ReaderV1);
+               mgr->ConnectInput(fV0ReaderV1,0,cinput);
 
-   
+       } else {
+               Error("AddTask_V0ReaderV1", "Cannot execute AddTask, V0ReaderV1 already exists.");
+       }   
 
-   // suitable cuts for the photon Task, however in principle every cutnumber can be chosen which is used in the photon analysis:
-   // PbPb:  TaskCutnumber = "5680001060092663044803000000"; TPC mult in MC - 60-80% central
-   //   or:  TaskCutnumber = "1680001060092663044803000000"; V0 mult in MC  - 60-80% central
-   //  pPb:  TaskCutnumber = "8000000090092663743800000000";
-   //   pp:  TaskCutnumber = "0000000090092663743800000000";
+       AliConvEventCuts *analysisEventCuts = new AliConvEventCuts();
+       analysisEventCuts->InitializeCutsFromCutString(TaskEventCutnumber.Data());
+       analysisEventCuts->SetFillCutHistograms("",kFALSE);
 
-    AliConversionCuts *analysisCuts = new AliConversionCuts();
-        analysisCuts->InitializeCutsFromCutString(TaskCutnumber.Data());
-        analysisCuts->SetFillCutHistograms("",kFALSE);
-    
-    AliAnalysisTaskConversionQA *fQA = new AliAnalysisTaskConversionQA(Form("%s_QA",TaskCutnumber.Data()));
-    fQA->SetConversionCuts(analysisCuts,IsHeavyIon);
-    fQA->FillType(kTree,kHistograms);
-    fQA->SetIsMC(IsMC);
-    mgr->AddTask(fQA);
+       AliConversionPhotonCuts *analysisCuts = new AliConversionPhotonCuts();
+       analysisCuts->InitializeCutsFromCutString(TaskPhotonCutnumber.Data());
+       analysisCuts->SetFillCutHistograms("",kFALSE);
+       
+       AliAnalysisTaskConversionQA *fQA = new AliAnalysisTaskConversionQA(Form("%s_%s_QA",TaskEventCutnumber.Data(),TaskPhotonCutnumber.Data()));
+       fQA->SetEventCuts(analysisEventCuts,IsHeavyIon);
+       fQA->SetConversionCuts(analysisCuts,IsHeavyIon);
+       fQA->FillType(kTree,kHistograms);
+       fQA->SetIsMC(IsMC);
+       mgr->AddTask(fQA);
 
-    AliAnalysisDataContainer *cinput  = mgr->GetCommonInputContainer();
-    if (runBasicQAWithStandardOutput){
-         AliAnalysisDataContainer *coutput =
-            mgr->CreateContainer(Form("GammaConv_V1QA_%s",TaskCutnumber.Data()), TList::Class(),
-                AliAnalysisManager::kOutputContainer,Form("%s:GammaConvV1_QA_%s",AliAnalysisManager::GetCommonFileName(), TaskCutnumber.Data()));
-         mgr->ConnectOutput(fQA,  1, coutput);
-    } else {
-         AliAnalysisDataContainer *coutput =
-            mgr->CreateContainer(Form("GammaConv_V1QA_%s",TaskCutnumber.Data()), TList::Class(),
-                 AliAnalysisManager::kOutputContainer,Form("GammaConvV1_QA_%s.root",TaskCutnumber.Data()));
-         mgr->ConnectOutput(fQA,  1, coutput);
-    }
-    mgr->ConnectInput(fQA,0,cinput);
-    
+       AliAnalysisDataContainer *cinput  = mgr->GetCommonInputContainer();
+       if (runBasicQAWithStandardOutput){
+               AliAnalysisDataContainer *coutput =
+                       mgr->CreateContainer(Form("GammaConv_V1QA_%s_%s", TaskEventCutnumber.Data(), TaskPhotonCutnumber.Data()), TList::Class(),
+                               AliAnalysisManager::kOutputContainer, Form("%s:GammaConvV1_QA_%s_%s",AliAnalysisManager::GetCommonFileName(), TaskEventCutnumber.Data(), TaskPhotonCutnumber.Data()));
+               mgr->ConnectOutput(fQA,  1, coutput);
+       } else {
+               AliAnalysisDataContainer *coutput =
+                       mgr->CreateContainer(Form("GammaConv_V1QA_%s_%s", TaskEventCutnumber.Data(), TaskPhotonCutnumber.Data()), TList::Class(),
+                               AliAnalysisManager::kOutputContainer, Form("GammaConvV1_QA_%s_%s.root", TaskEventCutnumber.Data(), TaskPhotonCutnumber.Data()));
+               mgr->ConnectOutput(fQA,  1, coutput);
+       }
+       mgr->ConnectInput(fQA,0,cinput);
+               
 
-   //connect containers
-   return;
+       //connect containers
+       return;
 }