ROOT logo
AliAnalysisTaskHFE* ConfigHFEstandard_PbPb(Bool_t useMC){
  //
  // HFE standard task configuration
  //

  AliHFEcuts *hfecuts = new AliHFEcuts("hfeCuts","HFE Standard Cuts");
  hfecuts->CreateStandardCuts();
  hfecuts->SetMinNClustersTPC(120);
  hfecuts->SetMinRatioTPCclusters(0.6);
  hfecuts->SetTPCmodes(AliHFEextraCuts::kFound, AliHFEextraCuts::kFoundOverFindable);

  hfecuts->SetMinNClustersITS(4);
  hfecuts->SetCutITSpixel(AliHFEextraCuts::kFirst);
  hfecuts->SetCheckITSLayerStatus(kFALSE);

  //hfecuts->UnsetVertexRequirement();
  hfecuts->SetMaxImpactParam(3.,3.);

  hfecuts->SetVertexRange(10.);
  //hfecuts->SetMaxChi2perClusterITS(36);
  //hfecuts->SetSigmaToVertex(10);
  hfecuts->SetTOFPIDStep(kTRUE);
  //hfecuts->SetTOFMISMATCHStep(kTRUE);
  //hfecuts->SetTPCPIDCleanUpStep(kTRUE);
  hfecuts->SetQAOn();
  //hfecuts->SetMinNTrackletsTRD(5);

  AliAnalysisTaskHFE *task = new AliAnalysisTaskHFE("HFEanalysisStandard");
  task->SetHFECuts(hfecuts);
  task->SetPbPbAnalysis(kTRUE);
  //task->SetRemovePileUp(kTRUE);
  task->GetPIDQAManager()->SetHighResolutionHistos();

  // Define Variables
  AliHFEvarManager *vm = task->GetVarManager();
  vm->AddVariable("pt");
  vm->AddVariable("eta");
  vm->AddVariable("phi");
  vm->AddVariable("charge");
  vm->AddVariable("source");
  vm->AddVariable("centrality");

  if(!useMC){

      for(Int_t a=0;a<12;a++)
      {
	  TF1 *hBackground = new TF1("hadronicBackgroundFunction","TMath::Exp([0]/x + [1])", 0., 20.);
	  hBackground->SetParameter(0, -43.87);
	  hBackground->SetParameter(1, 2.85);
	  task->SetBackGroundFactorsFunction(hBackground,a);
      }


  }

  // Define PID
  AliHFEpid *pid = task->GetPID();
  if(useMC) pid->SetHasMCData(kTRUE);
  pid->AddDetector("TOF", 0);
  pid->AddDetector("TPC", 1);
//  pid->ConfigureTPCrejection();

  if(!useMC){

      Double_t params_centr_0_5[1];
      Double_t params_centr_5_10[1];
      Double_t params_centr_10_20[1];
      Double_t params_centr_20_30[1];
      Double_t params_centr_per[1];
      params_centr_0_5[0]=0.16;  // cut tuned for 0-10%
      params_centr_5_10[0]=0.16; // cut tuned for 0-10%
      params_centr_10_20[0]=0.29;
      params_centr_20_30[0]=0.38;
      params_centr_per[0]=0.44;
      char *cutmodel;
      cutmodel="pol0";


      for(Int_t a=0;a<11;a++)
      {
	  if(a>3)  pid->ConfigureTPCcentralityCut(a,cutmodel,params_centr_per,3.0);
	  if(a==0) pid->ConfigureTPCcentralityCut(a,cutmodel,params_centr_0_5,3.0);    //  0-5%
	  if(a==1) pid->ConfigureTPCcentralityCut(a,cutmodel,params_centr_5_10,3.0);    //  5-10%
	  if(a==2) pid->ConfigureTPCcentralityCut(a,cutmodel,params_centr_10_20,3.0);    //  10-20%
	  if(a==3) pid->ConfigureTPCcentralityCut(a,cutmodel,params_centr_20_30,3.0);    //  20-30%
      }


  }


  // V0 tagged tracks
  AliHFEcuts *v0trackCuts = new AliHFEcuts("V0trackCuts", "Track Cuts for tagged track Analysis");
  v0trackCuts->CreateStandardCuts();
  v0trackCuts->SetMinNClustersTPC(120);
  v0trackCuts->SetMinRatioTPCclusters(0.6);
  v0trackCuts->SetTPCmodes(AliHFEextraCuts::kFound, AliHFEextraCuts::kFoundOverFindable);
  v0trackCuts->SetMinNClustersITS(1);
  v0trackCuts->SetCutITSpixel(AliHFEextraCuts::kAny);
  v0trackCuts->SetCheckITSLayerStatus(kFALSE);
  v0trackCuts->UnsetVertexRequirement();
  //v0trackCuts->SetMaxChi2perClusterITS(36);
  //hfecuts->SetSigmaToVertex(10);
  v0trackCuts->SetTOFPIDStep(kTRUE);
//  v0trackCuts->SetTOFMISMATCHStep(kTRUE);
  //v0trackCuts->SetTPCPIDCleanUpStep(kTRUE);
  v0trackCuts->SetQAOn();
  
  task->SwitchOnPlugin(AliAnalysisTaskHFE::kTaggedTrackAnalysis);
  task->SetTaggedTrackCuts(v0trackCuts);
  task->SetCleanTaggedTrack(kFALSE);
  
  // QA
  task->SetQAOn(AliAnalysisTaskHFE::kPIDqa);
//  task->SetFillSignalOnly(kFALSE);    // for DE pluging for MC
  task->SetQAOn(AliAnalysisTaskHFE::kMCqa);
  //task->SwitchOnPlugin(AliAnalysisTaskHFE::kIsElecBackGround);
  //task->SwitchOnPlugin(AliAnalysisTaskHFE::kSecVtx);
  task->SwitchOnPlugin(AliAnalysisTaskHFE::kDEstep);



  printf("*************************************\n");
  printf("Configuring standard Task:\n");
  task->Print();
  pid->PrintStatus();
  printf("*************************************\n"); 
  return task;
}
 ConfigHFEstandard_PbPb.C:1
 ConfigHFEstandard_PbPb.C:2
 ConfigHFEstandard_PbPb.C:3
 ConfigHFEstandard_PbPb.C:4
 ConfigHFEstandard_PbPb.C:5
 ConfigHFEstandard_PbPb.C:6
 ConfigHFEstandard_PbPb.C:7
 ConfigHFEstandard_PbPb.C:8
 ConfigHFEstandard_PbPb.C:9
 ConfigHFEstandard_PbPb.C:10
 ConfigHFEstandard_PbPb.C:11
 ConfigHFEstandard_PbPb.C:12
 ConfigHFEstandard_PbPb.C:13
 ConfigHFEstandard_PbPb.C:14
 ConfigHFEstandard_PbPb.C:15
 ConfigHFEstandard_PbPb.C:16
 ConfigHFEstandard_PbPb.C:17
 ConfigHFEstandard_PbPb.C:18
 ConfigHFEstandard_PbPb.C:19
 ConfigHFEstandard_PbPb.C:20
 ConfigHFEstandard_PbPb.C:21
 ConfigHFEstandard_PbPb.C:22
 ConfigHFEstandard_PbPb.C:23
 ConfigHFEstandard_PbPb.C:24
 ConfigHFEstandard_PbPb.C:25
 ConfigHFEstandard_PbPb.C:26
 ConfigHFEstandard_PbPb.C:27
 ConfigHFEstandard_PbPb.C:28
 ConfigHFEstandard_PbPb.C:29
 ConfigHFEstandard_PbPb.C:30
 ConfigHFEstandard_PbPb.C:31
 ConfigHFEstandard_PbPb.C:32
 ConfigHFEstandard_PbPb.C:33
 ConfigHFEstandard_PbPb.C:34
 ConfigHFEstandard_PbPb.C:35
 ConfigHFEstandard_PbPb.C:36
 ConfigHFEstandard_PbPb.C:37
 ConfigHFEstandard_PbPb.C:38
 ConfigHFEstandard_PbPb.C:39
 ConfigHFEstandard_PbPb.C:40
 ConfigHFEstandard_PbPb.C:41
 ConfigHFEstandard_PbPb.C:42
 ConfigHFEstandard_PbPb.C:43
 ConfigHFEstandard_PbPb.C:44
 ConfigHFEstandard_PbPb.C:45
 ConfigHFEstandard_PbPb.C:46
 ConfigHFEstandard_PbPb.C:47
 ConfigHFEstandard_PbPb.C:48
 ConfigHFEstandard_PbPb.C:49
 ConfigHFEstandard_PbPb.C:50
 ConfigHFEstandard_PbPb.C:51
 ConfigHFEstandard_PbPb.C:52
 ConfigHFEstandard_PbPb.C:53
 ConfigHFEstandard_PbPb.C:54
 ConfigHFEstandard_PbPb.C:55
 ConfigHFEstandard_PbPb.C:56
 ConfigHFEstandard_PbPb.C:57
 ConfigHFEstandard_PbPb.C:58
 ConfigHFEstandard_PbPb.C:59
 ConfigHFEstandard_PbPb.C:60
 ConfigHFEstandard_PbPb.C:61
 ConfigHFEstandard_PbPb.C:62
 ConfigHFEstandard_PbPb.C:63
 ConfigHFEstandard_PbPb.C:64
 ConfigHFEstandard_PbPb.C:65
 ConfigHFEstandard_PbPb.C:66
 ConfigHFEstandard_PbPb.C:67
 ConfigHFEstandard_PbPb.C:68
 ConfigHFEstandard_PbPb.C:69
 ConfigHFEstandard_PbPb.C:70
 ConfigHFEstandard_PbPb.C:71
 ConfigHFEstandard_PbPb.C:72
 ConfigHFEstandard_PbPb.C:73
 ConfigHFEstandard_PbPb.C:74
 ConfigHFEstandard_PbPb.C:75
 ConfigHFEstandard_PbPb.C:76
 ConfigHFEstandard_PbPb.C:77
 ConfigHFEstandard_PbPb.C:78
 ConfigHFEstandard_PbPb.C:79
 ConfigHFEstandard_PbPb.C:80
 ConfigHFEstandard_PbPb.C:81
 ConfigHFEstandard_PbPb.C:82
 ConfigHFEstandard_PbPb.C:83
 ConfigHFEstandard_PbPb.C:84
 ConfigHFEstandard_PbPb.C:85
 ConfigHFEstandard_PbPb.C:86
 ConfigHFEstandard_PbPb.C:87
 ConfigHFEstandard_PbPb.C:88
 ConfigHFEstandard_PbPb.C:89
 ConfigHFEstandard_PbPb.C:90
 ConfigHFEstandard_PbPb.C:91
 ConfigHFEstandard_PbPb.C:92
 ConfigHFEstandard_PbPb.C:93
 ConfigHFEstandard_PbPb.C:94
 ConfigHFEstandard_PbPb.C:95
 ConfigHFEstandard_PbPb.C:96
 ConfigHFEstandard_PbPb.C:97
 ConfigHFEstandard_PbPb.C:98
 ConfigHFEstandard_PbPb.C:99
 ConfigHFEstandard_PbPb.C:100
 ConfigHFEstandard_PbPb.C:101
 ConfigHFEstandard_PbPb.C:102
 ConfigHFEstandard_PbPb.C:103
 ConfigHFEstandard_PbPb.C:104
 ConfigHFEstandard_PbPb.C:105
 ConfigHFEstandard_PbPb.C:106
 ConfigHFEstandard_PbPb.C:107
 ConfigHFEstandard_PbPb.C:108
 ConfigHFEstandard_PbPb.C:109
 ConfigHFEstandard_PbPb.C:110
 ConfigHFEstandard_PbPb.C:111
 ConfigHFEstandard_PbPb.C:112
 ConfigHFEstandard_PbPb.C:113
 ConfigHFEstandard_PbPb.C:114
 ConfigHFEstandard_PbPb.C:115
 ConfigHFEstandard_PbPb.C:116
 ConfigHFEstandard_PbPb.C:117
 ConfigHFEstandard_PbPb.C:118
 ConfigHFEstandard_PbPb.C:119
 ConfigHFEstandard_PbPb.C:120
 ConfigHFEstandard_PbPb.C:121
 ConfigHFEstandard_PbPb.C:122
 ConfigHFEstandard_PbPb.C:123
 ConfigHFEstandard_PbPb.C:124
 ConfigHFEstandard_PbPb.C:125
 ConfigHFEstandard_PbPb.C:126
 ConfigHFEstandard_PbPb.C:127
 ConfigHFEstandard_PbPb.C:128
 ConfigHFEstandard_PbPb.C:129
 ConfigHFEstandard_PbPb.C:130