]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWGHF/vertexingHF/macros/AddTaskD0Mass.C
Updates in plottinmg macro (ChiaraB)
[u/mrichter/AliRoot.git] / PWGHF / vertexingHF / macros / AddTaskD0Mass.C
index 750f5ad1b0b52eff6da81b36774aa42ddaaecc83..1d9d45d88bf2dac30f693d744f0c46f832aff27c 100644 (file)
@@ -3,8 +3,9 @@ AliAnalysisTaskSED0Mass *AddTaskD0Mass(Int_t flag=0/*0 = D0,1 = LS*/,Bool_t read
                                       Int_t system=0/*0=pp,1=PbPb*/,Int_t flagD0D0bar=0,
                                       Float_t minC=0, Float_t maxC=0,
                                       TString finDirname="Loose",
-                                      TString finname="D0toKpiCuts.root",TString finObjname="D0toKpiCuts", Bool_t flagAOD049=kFALSE,
-                                      Bool_t FillMassPt=false, Bool_t FillImpPar=false)
+                                      TString finname="",TString finObjname="D0toKpiCuts", Bool_t flagAOD049=kFALSE,
+                                      Bool_t FillMassPt=false, Bool_t FillImpPar=false,
+                                          Bool_t DrawDetSignal=false, Bool_t PIDCheck=false)
 {
   //
   // AddTask for the AliAnalysisTaskSE for D0 candidates
@@ -22,7 +23,7 @@ AliAnalysisTaskSED0Mass *AddTaskD0Mass(Int_t flag=0/*0 = D0,1 = LS*/,Bool_t read
     return NULL;
   }   
 
-  TString filename="",out1name="",out2name="",out3name="",out4name="",out5name="",out6name="",out7name="",inname="";
+  TString filename="",out1name="",out2name="",out3name="",out4name="",out5name="",out6name="",out7name="",out8name="", inname="";
   filename = AliAnalysisManager::GetCommonFileName();
   filename += ":PWG3_D2H_";
   if(flag==0){
@@ -65,6 +66,16 @@ AliAnalysisTaskSED0Mass *AddTaskD0Mass(Int_t flag=0/*0 = D0,1 = LS*/,Bool_t read
 
     out7name ="coutputVarTree";
 
+   //detector signal hists
+
+    out8name="detectorSignals";
+    if(cutOnDistr) out8name+="C"; 
+    if(flagD0D0bar==1)out8name+="D0";
+    if(flagD0D0bar==2)out8name+="D0bar";
+
+    
+
+
     inname="cinputmassD0_0";
     if(cutOnDistr) inname+="C"; 
     if(flagD0D0bar==1)inname+="D0";
@@ -109,6 +120,7 @@ AliAnalysisTaskSED0Mass *AddTaskD0Mass(Int_t flag=0/*0 = D0,1 = LS*/,Bool_t read
   out5name += finDirname.Data(); 
   out6name += finDirname.Data();
   out7name += finDirname.Data();
+  out8name += finDirname.Data();
   inname += finDirname.Data();
 
    //setting my cut values
@@ -125,17 +137,21 @@ AliAnalysisTaskSED0Mass *AddTaskD0Mass(Int_t flag=0/*0 = D0,1 = LS*/,Bool_t read
     //     printf("    cosThetaPoint    > %f\n",fD0toKpiCuts[8]);
 
   Bool_t stdcuts=kFALSE;
-  TFile* filecuts=TFile::Open(finname.Data());
-  if(!filecuts->IsOpen()){
-    cout<<"Input file not found: using std cut object"<<endl;
-    stdcuts=kTRUE;
+  TFile* filecuts;
+  if( finname.EqualTo("") ) {
+    stdcuts=kTRUE; 
+  } else {
+      filecuts=TFile::Open(finname.Data());
+      if(!filecuts ||(filecuts&& !filecuts->IsOpen())){
+       AliFatal("Input file not found : check your cut object");
+      }
   }
 
   AliRDHFCutsD0toKpi* RDHFD0toKpi=new AliRDHFCutsD0toKpi();
   if(stdcuts) {
     if(system==0) RDHFD0toKpi->SetStandardCutsPP2010();
     else {
-      RDHFD0toKpi->SetStandardCutsPbPb2010();
+      RDHFD0toKpi->SetStandardCutsPbPb2011();
       if(minC!=0 && maxC!=0) { //if centrality 0 and 0 leave the values in the cut object
        RDHFD0toKpi->SetMinCentrality(minC);
        RDHFD0toKpi->SetMaxCentrality(maxC);
@@ -147,7 +163,7 @@ AliAnalysisTaskSED0Mass *AddTaskD0Mass(Int_t flag=0/*0 = D0,1 = LS*/,Bool_t read
   else   {
     RDHFD0toKpi = (AliRDHFCutsD0toKpi*)filecuts->Get(finObjname.Data());
     if(!RDHFD0toKpi){
-      cout<<"Specific AliRDHFCuts not found"<<endl;
+      AliFatal("Specific AliRDHFCuts not found");
       return;
     }
     if(flagAOD049)RDHFD0toKpi->SetUseAOD049(kTRUE);
@@ -168,6 +184,7 @@ AliAnalysisTaskSED0Mass *AddTaskD0Mass(Int_t flag=0/*0 = D0,1 = LS*/,Bool_t read
   out5name+=centr;
   out6name+=centr;
   out7name+=centr;
+  out8name+=centr;
   inname+=centr;
 
   // Aanalysis task    
@@ -186,7 +203,8 @@ AliAnalysisTaskSED0Mass *AddTaskD0Mass(Int_t flag=0/*0 = D0,1 = LS*/,Bool_t read
 
   massD0Task->SetFillPtHistos(FillMassPt);
   massD0Task->SetFillImpactParameterHistos(FillImpPar);
-  
+  massD0Task->SetDrawDetSignal(DrawDetSignal);
+  massD0Task->SetPIDCheck(PIDCheck);
   //  massD0Task->SetRejectSDDClusters(kTRUE);
 
   //   massD0Task->SetWriteVariableTree(kTRUE);
@@ -205,6 +223,9 @@ AliAnalysisTaskSED0Mass *AddTaskD0Mass(Int_t flag=0/*0 = D0,1 = LS*/,Bool_t read
   AliAnalysisDataContainer *coutputmassD05 = mgr->CreateContainer(out5name,AliNormalizationCounter::Class(),AliAnalysisManager::kOutputContainer, filename.Data()); //counter
   AliAnalysisDataContainer *coutputmassD06 = mgr->CreateContainer(out6name,TList::Class(),AliAnalysisManager::kOutputContainer, filename.Data()); //mass vs pt vs impt par
   AliAnalysisDataContainer *coutputmassD07 = mgr->CreateContainer(out7name,TTree::Class(),AliAnalysisManager::kOutputContainer, filename.Data()); //mass vs pt vs impt par
+  AliAnalysisDataContainer *coutputmassD08 = mgr->CreateContainer(out8name,TList::Class(),AliAnalysisManager::kOutputContainer, filename.Data()); //dedx
+  
+
   
   mgr->ConnectInput(massD0Task,0,mgr->GetCommonInputContainer());
 
@@ -215,6 +236,7 @@ AliAnalysisTaskSED0Mass *AddTaskD0Mass(Int_t flag=0/*0 = D0,1 = LS*/,Bool_t read
   mgr->ConnectOutput(massD0Task,5,coutputmassD05);
   mgr->ConnectOutput(massD0Task,6,coutputmassD06);
   mgr->ConnectOutput(massD0Task,7,coutputmassD07);
+  mgr->ConnectOutput(massD0Task,8,coutputmassD08);
 
 
   return massD0Task;