]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWGLF/STRANGENESS/Cascades/macros/AddTaskCheckCascadepp276.C
Modified tasks to run also on p-Pb data (D.Colella)
[u/mrichter/AliRoot.git] / PWGLF / STRANGENESS / Cascades / macros / AddTaskCheckCascadepp276.C
index ebc9d8cb16582df3dfa2aacda8da22f0789919ca..1f0fcd6e8b4218459f9fe955f0308a4df5ab4e72 100644 (file)
@@ -1,20 +1,20 @@
-AliAnalysisTaskCheckCascadepp276 *AddTaskCheckCascadepp276( Int_t    minnTPCcls             = 70,
-                                                            Float_t  vtxlim                 = 10.,
-                                                            Float_t  vtxlimmin              = 0.,
+AliAnalysisTaskCheckCascadepp276 *AddTaskCheckCascadepp276( TString  collidingSystem        = "pp",
+                                                            Int_t    minnTPCcls             = 70,
+                                                            Float_t  vtxlim                 = 10.0,
+                                                            Float_t  vtxlimmin              = 0.0,
                                                             Bool_t   fwithsdd               = kFALSE,
                                                             Bool_t   kextrasel              = kFALSE,
                                                             Bool_t   krelaunchvertexers     = kFALSE,
                                                             Bool_t   ksddonselection        = kTRUE,
-                                                            Float_t  minptondaughtertracks  = 0.,
-                                                            Float_t  etacutondaughtertracks = .8,
-                                                            Bool_t   standardAnalysis       = kTRUE ) {
+                                                            Float_t  minptondaughtertracks  = 0.0,
+                                                            Float_t  etacutondaughtertracks = 0.8) {
 
    // Creates, configures and attaches to the train a cascades check task.
    // Get the pointer to the existing analysis manager via the static access method.
    //==============================================================================
    AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
    if (!mgr) {
-      ::Error("AddTaskCheckCascadeipp276", "No analysis manager to connect to.");
+      ::Error("AddTaskCheckCascadepp276", "No analysis manager to connect to.");
       return NULL;
    }   
 
@@ -27,69 +27,103 @@ AliAnalysisTaskCheckCascadepp276 *AddTaskCheckCascadepp276( Int_t    minnTPCcls
    TString type = mgr->GetInputEventHandler()->GetDataType(); // can be "ESD" or "AOD"
 
    // Create and configure the task
-   AliAnalysisTaskCheckCascadepp276 *taskcheckcascadepp276 = new AliAnalysisTaskCheckCascadepp276(Form("TaskCheckCascadepp276_vtxlim%2.1f-%2.1f",vtxlim,vtxlimmin));
-
-   taskcheckcascadepp276->SetAnalysisType               (type);
-   taskcheckcascadepp276->SetRelaunchV0CascVertexers    (krelaunchvertexers);
-   taskcheckcascadepp276->SetSDDSelection               (fwithsdd);          // if TRUE apply the sdd selection
-   taskcheckcascadepp276->SetQualityCutZprimVtxPos      (kTRUE);             // selects vertices in +-10cm
-   taskcheckcascadepp276->SetQualityCutNoTPConlyPrimVtx (kTRUE);             // retains only events with tracking + SPD vertex
-   taskcheckcascadepp276->SetQualityCutTPCrefit         (kTRUE);             // requires TPC refit flag to be true to select a track
-   taskcheckcascadepp276->SetQualityCutnTPCcls          (kTRUE);             // rejects tracks that have less than n clusters in the TPC
-   taskcheckcascadepp276->SetQualityCutPileup           (kTRUE);
-   taskcheckcascadepp276->SetWithSDDOn                  (ksddonselection);   // selects events with SDD on
-   taskcheckcascadepp276->SetQualityCutMinnTPCcls       (minnTPCcls);        // minimum number of TPC clusters to accept daughter tracks
-   taskcheckcascadepp276->SetExtraSelections            (kextrasel);         // used to add other selection cuts
-   taskcheckcascadepp276->SetVertexRange                (vtxlim);
-   taskcheckcascadepp276->SetVertexRangeMin             (vtxlimmin);
-   taskcheckcascadepp276->SetMinptCutOnDaughterTracks   (minptondaughtertracks);  
-   taskcheckcascadepp276->SetEtaCutOnDaughterTracks     (etacutondaughtertracks);
+   //==============================================================================
+   TString taskname = Form("TaskCheckCascadepp276_minnTPCcls%i_vtxlim%.1f-%.1f_minptdghtrk%.1f_etacutdghtrk%.1f",minnTPCcls,vtxlim,vtxlimmin,minptondaughtertracks,etacutondaughtertracks);
+     if(fwithsdd && collidingSystem == "pp") {
+          if (ksddonselection)       taskname += "_wSDDon";
+          else if (!ksddonselection) taskname += "_wSDDoff";
+     } else if (!fwithsdd && collidingSystem == "pp") {
+          taskname += "_woSDD";
+     }
+   AliAnalysisTaskCheckCascadepp276 *taskcheckcascadepp276 = new AliAnalysisTaskCheckCascadepp276(taskname);
+     taskcheckcascadepp276->SetAnalysisType               (type);                   // "ESD" or "AOD"
+     taskcheckcascadepp276->SetCollidingSystem            (collidingSystem);        // choose the collidiond system to run on: "pp" and "pPb"
+     taskcheckcascadepp276->SetRelaunchV0CascVertexers    (krelaunchvertexers);     // choose if reconstruct the vertex of V0 in the cascades
+     taskcheckcascadepp276->SetSDDSelection               (fwithsdd);               // choose if apply SDD event selection
+     taskcheckcascadepp276->SetQualityCutZprimVtxPos      (kTRUE);                  // choose if apply Z vtx PV position event selection
+     taskcheckcascadepp276->SetQualityCutNoTPConlyPrimVtx (kTRUE);                  // choose if apply no TPC only event selection
+     taskcheckcascadepp276->SetQualityCutTPCrefit         (kTRUE);                  // choose if apply TPC refit on daughter tracks
+     taskcheckcascadepp276->SetQualityCutnTPCcls          (kTRUE);                  // choose if apply n TPC cluster selection on daughter tracks
+     taskcheckcascadepp276->SetQualityCutPileup           (kTRUE);                  // choose if apply no Pileup event selection
+     taskcheckcascadepp276->SetWithSDDOn                  (ksddonselection);        // which SDD selection do you want apply? [if kTRUE select SDDon events]
+     taskcheckcascadepp276->SetQualityCutMinnTPCcls       (minnTPCcls);             // which value do you want apply for the minTPCcls cut?
+     taskcheckcascadepp276->SetExtraSelections            (kextrasel);              // choose if apply the extra selection of cascade reco.
+     taskcheckcascadepp276->SetVertexRange                (vtxlim);                 // which higher value do you want apply for vtx Z cut?
+     taskcheckcascadepp276->SetVertexRangeMin             (vtxlimmin);              // which lower value do you want apply for vtx Z cut?
+     taskcheckcascadepp276->SetMinptCutOnDaughterTracks   (minptondaughtertracks);  // which value do you want apply for cut on min pt daughter track?
+     taskcheckcascadepp276->SetEtaCutOnDaughterTracks     (etacutondaughtertracks); // which value do you want apply for cut on eta daughter track?
 
    mgr->AddTask(taskcheckcascadepp276);
 
    // Create ONLY the output containers for the data produced by the task.
    // Get and connect other common input/output containers via the manager as below
    //==============================================================================
+   // Directory name
+   TString outputFileName = Form("%s:PWGLFStrangeness.outputCheckCascadepp276", AliAnalysisManager::GetCommonFileName());
+   // Objects name
+   TString outputname0 = "clistCasc";
+   TString outputname1 = "cfcontPIDAsXiM";
+   TString outputname2 = "cfcontPIDAsXiP";
+   TString outputname3 = "cfcontPIDAsOmegaM";
+   TString outputname4 = "cfcontPIDAsOmegaP";
+   TString outputname5 = "cfcontAsCuts";
+      outputname0 += Form("_minnTPCcls%i_vtxlim%.1f-%.1f_minptdghtrk%.1f_etacutdghtrk%.1f",minnTPCcls,vtxlim,vtxlimmin,minptondaughtertracks,etacutondaughtertracks);
+      outputname1 += Form("_minnTPCcls%i_vtxlim%.1f-%.1f_minptdghtrk%.1f_etacutdghtrk%.1f",minnTPCcls,vtxlim,vtxlimmin,minptondaughtertracks,etacutondaughtertracks);
+      outputname2 += Form("_minnTPCcls%i_vtxlim%.1f-%.1f_minptdghtrk%.1f_etacutdghtrk%.1f",minnTPCcls,vtxlim,vtxlimmin,minptondaughtertracks,etacutondaughtertracks);
+      outputname3 += Form("_minnTPCcls%i_vtxlim%.1f-%.1f_minptdghtrk%.1f_etacutdghtrk%.1f",minnTPCcls,vtxlim,vtxlimmin,minptondaughtertracks,etacutondaughtertracks);
+      outputname4 += Form("_minnTPCcls%i_vtxlim%.1f-%.1f_minptdghtrk%.1f_etacutdghtrk%.1f",minnTPCcls,vtxlim,vtxlimmin,minptondaughtertracks,etacutondaughtertracks);
+      outputname5 += Form("_minnTPCcls%i_vtxlim%.1f-%.1f_minptdghtrk%.1f_etacutdghtrk%.1f",minnTPCcls,vtxlim,vtxlimmin,minptondaughtertracks,etacutondaughtertracks);
+      if(fwithsdd && collidingSystem == "pp") {
+          if (ksddonselection) {
+              outputname0 += "_wSDDon";
+              outputname1 += "_wSDDon";
+              outputname2 += "_wSDDon";
+              outputname3 += "_wSDDon";
+              outputname4 += "_wSDDon";
+              outputname5 += "_wSDDon";
+          } else if (!ksddonselection && collidingSystem == "pp") {
+              outputname0 += "_wSDDoff";
+              outputname1 += "_wSDDoff";
+              outputname2 += "_wSDDoff";
+              outputname3 += "_wSDDoff";
+              outputname4 += "_wSDDoff";
+              outputname5 += "_wSDDoff";
+          }
+      } else if (!fwithsdd && collidingSystem == "pp") {
+          outputname0 += "_woSDD";
+          outputname1 += "_woSDD";
+          outputname2 += "_woSDD";
+          outputname3 += "_woSDD";
+          outputname4 += "_woSDD";
+          outputname5 += "_woSDD";
+      }
 
-   // User file name (if need be)
-   
-   TString outputFileName = AliAnalysisManager::GetCommonFileName();
-   if (standardAnalysis) outputFileName += ":PWGLFStrangeness.outputCheckCascadepp276";
-   else                  outputFileName += Form(":PWGLFStrangeness.outputCheckCascadepp276_vtxlim%2.1f-%2.1f",vtxlim,vtxlimmin);
-
-   Printf("AddTaskCheckCascade - Set OutputFileName : \n %s\n", outputFileName.Data() );
-
-   AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("clistCasc",
-                                                            TList::Class(),
+   //Save objects into the train common file
+   AliAnalysisDataContainer *coutput1 = mgr->CreateContainer(outputname0,
+                                                            TList::Class(),
                                                             AliAnalysisManager::kOutputContainer,
                                                             outputFileName );
-   
-   AliAnalysisDataContainer *coutput2 = mgr->CreateContainer("cfcontPIDXiM",
+   AliAnalysisDataContainer *coutput2 = mgr->CreateContainer(outputname1,
                                                              AliCFContainer::Class(),
                                                              AliAnalysisManager::kOutputContainer,
                                                              outputFileName );
-
-   AliAnalysisDataContainer *coutput3 = mgr->CreateContainer("cfcontPIDXiP",
+   AliAnalysisDataContainer *coutput3 = mgr->CreateContainer(outputname2,
                                                              AliCFContainer::Class(),
                                                              AliAnalysisManager::kOutputContainer,
                                                              outputFileName );
-
-   AliAnalysisDataContainer *coutput4 = mgr->CreateContainer("cfcontPIDOmegaM",
+   AliAnalysisDataContainer *coutput4 = mgr->CreateContainer(outputname3,
                                                              AliCFContainer::Class(),
                                                              AliAnalysisManager::kOutputContainer,
                                                              outputFileName );
-
-   AliAnalysisDataContainer *coutput5 = mgr->CreateContainer("cfcontPIDOmegaP",
+   AliAnalysisDataContainer *coutput5 = mgr->CreateContainer(outputname4,
                                                              AliCFContainer::Class(),
                                                              AliAnalysisManager::kOutputContainer,
                                                              outputFileName );
-
-   AliAnalysisDataContainer *coutput6 = mgr->CreateContainer("cfcontCuts",
+   AliAnalysisDataContainer *coutput6 = mgr->CreateContainer(outputname5,
                                                              AliCFContainer::Class(),
                                                              AliAnalysisManager::kOutputContainer,
                                                              outputFileName );
 
-   
    mgr->ConnectInput( taskcheckcascadepp276, 0, mgr->GetCommonInputContainer());
    mgr->ConnectOutput(taskcheckcascadepp276, 1, coutput1);
    mgr->ConnectOutput(taskcheckcascadepp276, 2, coutput2);