ROOT logo
AliAnalysisTask *AddTaskTPCPIDEtaQA(TString period = "", Bool_t isPbpOrpPb = kFALSE,
                                    Int_t tpcCutType = AliTPCPIDBase::kTPCCutMIGeo /*AliTPCPIDBase::kTPCnclCut*/,
                                    Bool_t usePhiCut = kFALSE,
                                    Double_t ptThresholdForPhiCut = 0.0){
  //get the current analysis manager
  AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
  if (!mgr) {
    Error("AddTask_bhess_PIDetaAdv", "No analysis manager found.");
    return 0;
  }
  
  //========= Add task to the ANALYSIS manager =====
  AliTPCPIDEtaQA *task = new AliTPCPIDEtaQA("TPCPIDEtaQA");
  task->SelectCollisionCandidates(AliVEvent::kMB | AliVEvent::kINT7);
  
  //
  // Add track filters
  //
  AliAnalysisFilter* trackFilter = new AliAnalysisFilter("trackFilter");
  AliESDtrackCuts* esdTrackCutsL = 0x0;
  
  printf("\nSettings:\n");
  if (period.Contains("LHC11") || period.Contains("LHC12") || period.Contains("LHC13")) {
    esdTrackCutsL = AliESDtrackCuts::GetStandardITSTPCTrackCuts2011(kTRUE);
    printf("Using standard ITS-TPC track cuts 2011\n");
  }
  else if (period.Contains("LHC10")) {
    esdTrackCutsL = AliESDtrackCuts::GetStandardITSTPCTrackCuts2010(kTRUE);
    printf("Using standard ITS-TPC track cuts 2010\n");
  }
  else  {
    esdTrackCutsL = AliESDtrackCuts::GetStandardITSTPCTrackCuts2011(kTRUE);
    printf("WARNING: Cuts not configured for this period!!! Using standard ITS-TPC track cuts 2011\n");
  }
  
/*
  esdTrackCutsL->SetMinNCrossedRowsTPC(120);
  esdTrackCutsL->SetMinRatioCrossedRowsOverFindableClustersTPC(0.8);
  esdTrackCutsL->SetMaxChi2PerClusterITS(36);
  esdTrackCutsL->SetMaxFractionSharedTPCClusters(0.4);
  esdTrackCutsL->SetMaxChi2TPCConstrainedGlobal(36);
*/  

  task->SetIsPbpOrpPb(isPbpOrpPb);
  if (task->GetIsPbpOrpPb()) {
    printf("Collision type pPb/Pbp set -> Adapting vertex cuts!\n");
  }
  else  {
    printf("Collision type different from pPb/Pbp -> Using standard vertex cuts!\n");
  }
  
  trackFilter->AddCuts(esdTrackCutsL);
  task->SetTrackFilter(trackFilter);
  
  task->SetEtaCut(0.9);
  task->SetUsePhiCut(usePhiCut);
  task->SetPtThresholdForPhiCut(ptThresholdForPhiCut);
  task->SetTPCcutType(tpcCutType);
  
  printf("Eta cut: %f\n", task->GetEtaCut());
  printf("UsePhiCut: %d\n", task->GetUsePhiCut());
  if (task->GetUsePhiCut())
    printf("PtThresholdForPhiCut: %f\n", task->GetPtThresholdForPhiCut());
  printf("UseTPCCutMIGeo: %d\n", task->GetUseTPCCutMIGeo());
  printf("UseTPCnclCut: %d\n", task->GetUseTPCnclCut());
  
  
  
  
  
  
  task->SetZvtxCutEvent(10.0);
  printf("Cut on z position of vertex: %.2f cm\n", task->GetZvtxCutEvent());
  
  printf("UsePhiCut: %d\nPtThresholdForPhiCut: %.3f GeV/c\n\n", task->GetUsePhiCut(), task->GetPtThresholdForPhiCut());
  mgr->AddTask(task);


  //================================================
  //              data containers
  //================================================
  //            find input container
  //below the trunk version
  AliAnalysisDataContainer *cinput  = mgr->GetCommonInputContainer();

  //dumm output container
  AliAnalysisDataContainer *coutput0 =
      mgr->CreateContainer("TPCPIDEtaQA_tree",
                           TTree::Class(),
                           AliAnalysisManager::kExchangeContainer,
                           "TPCPIDEtaQA_default");

  //define output containers, please use 'username'_'somename'
  AliAnalysisDataContainer *coutput1 = 
      mgr->CreateContainer("TPCPIDEtaQA", TObjArray::Class(),
                           AliAnalysisManager::kOutputContainer,"TPCPIDEtaQA.root");

  //connect containers
  mgr->ConnectInput  (task,  0, cinput );
  mgr->ConnectOutput (task,  0, coutput0);
  mgr->ConnectOutput (task,  1, coutput1);

  return task;
}
 AddTaskTPCPIDEtaQA.C:1
 AddTaskTPCPIDEtaQA.C:2
 AddTaskTPCPIDEtaQA.C:3
 AddTaskTPCPIDEtaQA.C:4
 AddTaskTPCPIDEtaQA.C:5
 AddTaskTPCPIDEtaQA.C:6
 AddTaskTPCPIDEtaQA.C:7
 AddTaskTPCPIDEtaQA.C:8
 AddTaskTPCPIDEtaQA.C:9
 AddTaskTPCPIDEtaQA.C:10
 AddTaskTPCPIDEtaQA.C:11
 AddTaskTPCPIDEtaQA.C:12
 AddTaskTPCPIDEtaQA.C:13
 AddTaskTPCPIDEtaQA.C:14
 AddTaskTPCPIDEtaQA.C:15
 AddTaskTPCPIDEtaQA.C:16
 AddTaskTPCPIDEtaQA.C:17
 AddTaskTPCPIDEtaQA.C:18
 AddTaskTPCPIDEtaQA.C:19
 AddTaskTPCPIDEtaQA.C:20
 AddTaskTPCPIDEtaQA.C:21
 AddTaskTPCPIDEtaQA.C:22
 AddTaskTPCPIDEtaQA.C:23
 AddTaskTPCPIDEtaQA.C:24
 AddTaskTPCPIDEtaQA.C:25
 AddTaskTPCPIDEtaQA.C:26
 AddTaskTPCPIDEtaQA.C:27
 AddTaskTPCPIDEtaQA.C:28
 AddTaskTPCPIDEtaQA.C:29
 AddTaskTPCPIDEtaQA.C:30
 AddTaskTPCPIDEtaQA.C:31
 AddTaskTPCPIDEtaQA.C:32
 AddTaskTPCPIDEtaQA.C:33
 AddTaskTPCPIDEtaQA.C:34
 AddTaskTPCPIDEtaQA.C:35
 AddTaskTPCPIDEtaQA.C:36
 AddTaskTPCPIDEtaQA.C:37
 AddTaskTPCPIDEtaQA.C:38
 AddTaskTPCPIDEtaQA.C:39
 AddTaskTPCPIDEtaQA.C:40
 AddTaskTPCPIDEtaQA.C:41
 AddTaskTPCPIDEtaQA.C:42
 AddTaskTPCPIDEtaQA.C:43
 AddTaskTPCPIDEtaQA.C:44
 AddTaskTPCPIDEtaQA.C:45
 AddTaskTPCPIDEtaQA.C:46
 AddTaskTPCPIDEtaQA.C:47
 AddTaskTPCPIDEtaQA.C:48
 AddTaskTPCPIDEtaQA.C:49
 AddTaskTPCPIDEtaQA.C:50
 AddTaskTPCPIDEtaQA.C:51
 AddTaskTPCPIDEtaQA.C:52
 AddTaskTPCPIDEtaQA.C:53
 AddTaskTPCPIDEtaQA.C:54
 AddTaskTPCPIDEtaQA.C:55
 AddTaskTPCPIDEtaQA.C:56
 AddTaskTPCPIDEtaQA.C:57
 AddTaskTPCPIDEtaQA.C:58
 AddTaskTPCPIDEtaQA.C:59
 AddTaskTPCPIDEtaQA.C:60
 AddTaskTPCPIDEtaQA.C:61
 AddTaskTPCPIDEtaQA.C:62
 AddTaskTPCPIDEtaQA.C:63
 AddTaskTPCPIDEtaQA.C:64
 AddTaskTPCPIDEtaQA.C:65
 AddTaskTPCPIDEtaQA.C:66
 AddTaskTPCPIDEtaQA.C:67
 AddTaskTPCPIDEtaQA.C:68
 AddTaskTPCPIDEtaQA.C:69
 AddTaskTPCPIDEtaQA.C:70
 AddTaskTPCPIDEtaQA.C:71
 AddTaskTPCPIDEtaQA.C:72
 AddTaskTPCPIDEtaQA.C:73
 AddTaskTPCPIDEtaQA.C:74
 AddTaskTPCPIDEtaQA.C:75
 AddTaskTPCPIDEtaQA.C:76
 AddTaskTPCPIDEtaQA.C:77
 AddTaskTPCPIDEtaQA.C:78
 AddTaskTPCPIDEtaQA.C:79
 AddTaskTPCPIDEtaQA.C:80
 AddTaskTPCPIDEtaQA.C:81
 AddTaskTPCPIDEtaQA.C:82
 AddTaskTPCPIDEtaQA.C:83
 AddTaskTPCPIDEtaQA.C:84
 AddTaskTPCPIDEtaQA.C:85
 AddTaskTPCPIDEtaQA.C:86
 AddTaskTPCPIDEtaQA.C:87
 AddTaskTPCPIDEtaQA.C:88
 AddTaskTPCPIDEtaQA.C:89
 AddTaskTPCPIDEtaQA.C:90
 AddTaskTPCPIDEtaQA.C:91
 AddTaskTPCPIDEtaQA.C:92
 AddTaskTPCPIDEtaQA.C:93
 AddTaskTPCPIDEtaQA.C:94
 AddTaskTPCPIDEtaQA.C:95
 AddTaskTPCPIDEtaQA.C:96
 AddTaskTPCPIDEtaQA.C:97
 AddTaskTPCPIDEtaQA.C:98
 AddTaskTPCPIDEtaQA.C:99
 AddTaskTPCPIDEtaQA.C:100
 AddTaskTPCPIDEtaQA.C:101
 AddTaskTPCPIDEtaQA.C:102
 AddTaskTPCPIDEtaQA.C:103
 AddTaskTPCPIDEtaQA.C:104
 AddTaskTPCPIDEtaQA.C:105