ROOT logo
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.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("AddTaskCheckCascadepp276", "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("AddTaskCheckCascadepp276", "This task requires an input event handler");
      return NULL;
   }   
   TString type = mgr->GetInputEventHandler()->GetDataType(); // can be "ESD" or "AOD"

   // Create and configure the task
   //==============================================================================
   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";
      }

   //Save objects into the train common file
   AliAnalysisDataContainer *coutput1 = mgr->CreateContainer(outputname0,
			                                     TList::Class(),
							     AliAnalysisManager::kOutputContainer,
							     outputFileName );
   AliAnalysisDataContainer *coutput2 = mgr->CreateContainer(outputname1,
                                                             AliCFContainer::Class(),
                                                             AliAnalysisManager::kOutputContainer,
                                                             outputFileName );
   AliAnalysisDataContainer *coutput3 = mgr->CreateContainer(outputname2,
                                                             AliCFContainer::Class(),
                                                             AliAnalysisManager::kOutputContainer,
                                                             outputFileName );
   AliAnalysisDataContainer *coutput4 = mgr->CreateContainer(outputname3,
                                                             AliCFContainer::Class(),
                                                             AliAnalysisManager::kOutputContainer,
                                                             outputFileName );
   AliAnalysisDataContainer *coutput5 = mgr->CreateContainer(outputname4,
                                                             AliCFContainer::Class(),
                                                             AliAnalysisManager::kOutputContainer,
                                                             outputFileName );
   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);
   mgr->ConnectOutput(taskcheckcascadepp276, 3, coutput3);
   mgr->ConnectOutput(taskcheckcascadepp276, 4, coutput4);
   mgr->ConnectOutput(taskcheckcascadepp276, 5, coutput5);
   mgr->ConnectOutput(taskcheckcascadepp276, 6, coutput6);
   
   return taskcheckcascadepp276;
}   
 AddTaskCheckCascadepp276.C:1
 AddTaskCheckCascadepp276.C:2
 AddTaskCheckCascadepp276.C:3
 AddTaskCheckCascadepp276.C:4
 AddTaskCheckCascadepp276.C:5
 AddTaskCheckCascadepp276.C:6
 AddTaskCheckCascadepp276.C:7
 AddTaskCheckCascadepp276.C:8
 AddTaskCheckCascadepp276.C:9
 AddTaskCheckCascadepp276.C:10
 AddTaskCheckCascadepp276.C:11
 AddTaskCheckCascadepp276.C:12
 AddTaskCheckCascadepp276.C:13
 AddTaskCheckCascadepp276.C:14
 AddTaskCheckCascadepp276.C:15
 AddTaskCheckCascadepp276.C:16
 AddTaskCheckCascadepp276.C:17
 AddTaskCheckCascadepp276.C:18
 AddTaskCheckCascadepp276.C:19
 AddTaskCheckCascadepp276.C:20
 AddTaskCheckCascadepp276.C:21
 AddTaskCheckCascadepp276.C:22
 AddTaskCheckCascadepp276.C:23
 AddTaskCheckCascadepp276.C:24
 AddTaskCheckCascadepp276.C:25
 AddTaskCheckCascadepp276.C:26
 AddTaskCheckCascadepp276.C:27
 AddTaskCheckCascadepp276.C:28
 AddTaskCheckCascadepp276.C:29
 AddTaskCheckCascadepp276.C:30
 AddTaskCheckCascadepp276.C:31
 AddTaskCheckCascadepp276.C:32
 AddTaskCheckCascadepp276.C:33
 AddTaskCheckCascadepp276.C:34
 AddTaskCheckCascadepp276.C:35
 AddTaskCheckCascadepp276.C:36
 AddTaskCheckCascadepp276.C:37
 AddTaskCheckCascadepp276.C:38
 AddTaskCheckCascadepp276.C:39
 AddTaskCheckCascadepp276.C:40
 AddTaskCheckCascadepp276.C:41
 AddTaskCheckCascadepp276.C:42
 AddTaskCheckCascadepp276.C:43
 AddTaskCheckCascadepp276.C:44
 AddTaskCheckCascadepp276.C:45
 AddTaskCheckCascadepp276.C:46
 AddTaskCheckCascadepp276.C:47
 AddTaskCheckCascadepp276.C:48
 AddTaskCheckCascadepp276.C:49
 AddTaskCheckCascadepp276.C:50
 AddTaskCheckCascadepp276.C:51
 AddTaskCheckCascadepp276.C:52
 AddTaskCheckCascadepp276.C:53
 AddTaskCheckCascadepp276.C:54
 AddTaskCheckCascadepp276.C:55
 AddTaskCheckCascadepp276.C:56
 AddTaskCheckCascadepp276.C:57
 AddTaskCheckCascadepp276.C:58
 AddTaskCheckCascadepp276.C:59
 AddTaskCheckCascadepp276.C:60
 AddTaskCheckCascadepp276.C:61
 AddTaskCheckCascadepp276.C:62
 AddTaskCheckCascadepp276.C:63
 AddTaskCheckCascadepp276.C:64
 AddTaskCheckCascadepp276.C:65
 AddTaskCheckCascadepp276.C:66
 AddTaskCheckCascadepp276.C:67
 AddTaskCheckCascadepp276.C:68
 AddTaskCheckCascadepp276.C:69
 AddTaskCheckCascadepp276.C:70
 AddTaskCheckCascadepp276.C:71
 AddTaskCheckCascadepp276.C:72
 AddTaskCheckCascadepp276.C:73
 AddTaskCheckCascadepp276.C:74
 AddTaskCheckCascadepp276.C:75
 AddTaskCheckCascadepp276.C:76
 AddTaskCheckCascadepp276.C:77
 AddTaskCheckCascadepp276.C:78
 AddTaskCheckCascadepp276.C:79
 AddTaskCheckCascadepp276.C:80
 AddTaskCheckCascadepp276.C:81
 AddTaskCheckCascadepp276.C:82
 AddTaskCheckCascadepp276.C:83
 AddTaskCheckCascadepp276.C:84
 AddTaskCheckCascadepp276.C:85
 AddTaskCheckCascadepp276.C:86
 AddTaskCheckCascadepp276.C:87
 AddTaskCheckCascadepp276.C:88
 AddTaskCheckCascadepp276.C:89
 AddTaskCheckCascadepp276.C:90
 AddTaskCheckCascadepp276.C:91
 AddTaskCheckCascadepp276.C:92
 AddTaskCheckCascadepp276.C:93
 AddTaskCheckCascadepp276.C:94
 AddTaskCheckCascadepp276.C:95
 AddTaskCheckCascadepp276.C:96
 AddTaskCheckCascadepp276.C:97
 AddTaskCheckCascadepp276.C:98
 AddTaskCheckCascadepp276.C:99
 AddTaskCheckCascadepp276.C:100
 AddTaskCheckCascadepp276.C:101
 AddTaskCheckCascadepp276.C:102
 AddTaskCheckCascadepp276.C:103
 AddTaskCheckCascadepp276.C:104
 AddTaskCheckCascadepp276.C:105
 AddTaskCheckCascadepp276.C:106
 AddTaskCheckCascadepp276.C:107
 AddTaskCheckCascadepp276.C:108
 AddTaskCheckCascadepp276.C:109
 AddTaskCheckCascadepp276.C:110
 AddTaskCheckCascadepp276.C:111
 AddTaskCheckCascadepp276.C:112
 AddTaskCheckCascadepp276.C:113
 AddTaskCheckCascadepp276.C:114
 AddTaskCheckCascadepp276.C:115
 AddTaskCheckCascadepp276.C:116
 AddTaskCheckCascadepp276.C:117
 AddTaskCheckCascadepp276.C:118
 AddTaskCheckCascadepp276.C:119
 AddTaskCheckCascadepp276.C:120
 AddTaskCheckCascadepp276.C:121
 AddTaskCheckCascadepp276.C:122
 AddTaskCheckCascadepp276.C:123
 AddTaskCheckCascadepp276.C:124
 AddTaskCheckCascadepp276.C:125
 AddTaskCheckCascadepp276.C:126
 AddTaskCheckCascadepp276.C:127
 AddTaskCheckCascadepp276.C:128
 AddTaskCheckCascadepp276.C:129
 AddTaskCheckCascadepp276.C:130
 AddTaskCheckCascadepp276.C:131
 AddTaskCheckCascadepp276.C:132
 AddTaskCheckCascadepp276.C:133
 AddTaskCheckCascadepp276.C:134
 AddTaskCheckCascadepp276.C:135
 AddTaskCheckCascadepp276.C:136
 AddTaskCheckCascadepp276.C:137