ROOT logo
AliAnalysisTask *AddTaskHFEFlowTPCTOFEPSP(Int_t trigger=0,Int_t aodfilter=16,Bool_t scalarProduct=kFALSE,Bool_t cutPileup=kFALSE,Int_t variableM = 1,Int_t tpcCls=110, Double_t tpcClsr=60, Int_t tpcClspid=80, Int_t itsCls=4, Int_t pixellayer=2, Double_t dcaxy=100,Double_t dcaz=200, Double_t tofsig=30., Double_t tpceff=50., Int_t vzero=1, Int_t debuglevel=2, Double_t etarange=80, Bool_t withetacorrection=kFALSE, Bool_t withmultcorrection=kFALSE, Double_t ITSclustersback=0, Double_t minTPCback=-2.0, Double_t maxTPCback=5.0){

  //
  // Define TPC cut for 2011 data
  //
  Double_t tpcdedx[8] = {0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0}; //0-5,5-10,10-20,20-30,30-40,40-50,50-60,60-100
  // -0.2 0-5%
  // -0.15 5-10%
  // -0.1 10-20%
  // -0.0 20-30%, sigma=1.17
  // 0.156 30-40%, sigma=1.2
  // 0.19 40-50%, sigma=1.2
  // 0.2 50-60%
  // 0.2 60-80% list_t65536f16TPC110r60p80s11km0ITS4C36Pi2DCAr100z200TOF30TPCe50V1D0er8i0t-20t50

  /*
  tpcdedx[0]=-0.2;
  tpcdedx[1]=-0.15;
  tpcdedx[2]=-0.1;
  tpcdedx[3]=0.0;
  tpcdedx[4]=0.156;
  tpcdedx[5]=0.19;
  tpcdedx[6]=0.2;
  tpcdedx[7]=0.2;
  if(TMath::Abs(tpceff-55)<0.01) {
    tpcdedx[0]=-0.365;
    tpcdedx[1]=-0.314;
    tpcdedx[2]=-0.267;
    tpcdedx[3]=-0.165;
    tpcdedx[4]=-0.022;
    tpcdedx[5]= 0.01;
    tpcdedx[6]= 0.018;
    tpcdedx[7]= 0.018;
  }
  if(TMath::Abs(tpceff-45)<0.01) {
    tpcdedx[0]=-0.062;
    tpcdedx[1]=-0.015;
    tpcdedx[2]=0.035;
    tpcdedx[3]=0.131;
    tpcdedx[4]=0.278;
    tpcdedx[5]=0.32;
    tpcdedx[6]=0.32;
    tpcdedx[7]=0.32;
  }
  if(TMath::Abs(tpceff-60)<0.01) {
    tpcdedx[0]=-0.518;
    tpcdedx[1]=-0.47;
    tpcdedx[2]=-0.42;
    tpcdedx[3]=-0.315;
    tpcdedx[4]=-0.178;
    tpcdedx[5]=-0.145;
    tpcdedx[6]=-0.135;
    tpcdedx[7]=-0.135;
  }
  if(TMath::Abs(tpceff-40)<0.01) {
    tpcdedx[0]=0.09;
    tpcdedx[1]=0.14;
    tpcdedx[2]=0.188;
    tpcdedx[3]=0.28;
    tpcdedx[4]=0.43;
    tpcdedx[5]=0.462;
    tpcdedx[6]=0.473;
    tpcdedx[7]=0.473;
  }
  */

  // Name
  TString appendixx(TString::Format("t%df%ds%dp%dM%dTPC%dr%dp%dITS%dPi%dDCAr%dz%dTOF%dTPCe%dV%dD%der%dbin%di%dt%dt%d",(Int_t)trigger,aodfilter,(Int_t)scalarProduct,(Int_t)cutPileup,(Int_t)variableM,tpcCls,(Int_t)tpcClsr,tpcClspid,itsCls,(Int_t) pixellayer,(Int_t) dcaxy,(Int_t)dcaz,(Int_t) tofsig,(Int_t)tpceff,vzero,debuglevel,(Int_t)(etarange*0.1),(Int_t)withetacorrection,(Int_t)withmultcorrection,(Int_t)ITSclustersback,(Int_t)(minTPCback*10.0),(Int_t)(maxTPCback*10.0)));
  //TString appendixx("tpctofv2");
  

  //set config file name
  TString configFile("$ALICE_ROOT/PWGHF/hfe/macros/configs/PbPb/ConfigHFE_FLOW_TOFTPC.C");
  //TString configFile("/hera/alice/bailhach/AliRootInstallations/30_09_2013/AliRoot/PWGHF/hfe/macros/configs/PbPb/ConfigHFE_FLOW_TOFTPC.C");
  TString checkconfig="ConfigHFE_FLOW_TOFTPC";
  if (!gROOT->GetListOfGlobalFunctions()->FindObject(checkconfig.Data()))
    gROOT->LoadMacro(configFile.Data());
  
  AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
  AliAnalysisDataContainer *cinput  = mgr->GetCommonInputContainer();
  AliAnalysisTaskFlowTPCTOFEPSP *task = ConfigHFE_FLOW_TOFTPC(kFALSE,appendixx,trigger,aodfilter,scalarProduct,cutPileup,variableM,tpcCls, tpcClsr, tpcClspid, itsCls, pixellayer, dcaxy, dcaz,tofsig,&tpcdedx[0],vzero,debuglevel,etarange,withetacorrection,withmultcorrection,ITSclustersback,minTPCback,maxTPCback);  
  
  task->SetNbBinsCentralityQCumulant(4);
  //task->SetBinCentralityLess(0,0.0);
  task->SetBinCentralityLess(0,0.0);
  task->SetBinCentralityLess(1,10.0);
  task->SetBinCentralityLess(2,20.0);
  task->SetBinCentralityLess(3,40.0);
  task->SetBinCentralityLess(4,50.0);
  //task->SetBinCentralityLess(5,60.0);
  //task->SetBinCentralityLess(7,80.0);

  if(debuglevel==6) {
    
    //***************************************//
    //    test   Configure NPE plugin        //
    //***************************************//
    
    AliHFENonPhotonicElectron *backe = new AliHFENonPhotonicElectron(Form("HFEBackGroundSubtractionPID2%s",appendixx.Data()),"Background subtraction");  //appendix
    //Setting the Cuts for the Associated electron-pool
    AliHFEcuts *hfeBackgroundCuts = new AliHFEcuts(Form("HFEBackSub%s",appendixx.Data()),"Background sub Cuts");
    //hfeBackgroundCuts->SetEtaRange(assETA);
    hfeBackgroundCuts->SetEtaRange(-0.8,0.8);
    hfeBackgroundCuts->SetPtRange(0.1,1e10);
    hfeBackgroundCuts->SetMaxChi2perClusterTPC(4);
    hfeBackgroundCuts->SetMinNClustersITS(ITSclustersback);
    hfeBackgroundCuts->SetMinNClustersTPC(100);
    hfeBackgroundCuts->SetMinNClustersTPCPID(80);
    hfeBackgroundCuts->SetMaxImpactParam(1.,2.);
    hfeBackgroundCuts->SetAODFilterBit(0);
    //hfeBackgroundCuts->SetQAOn();			        // QA break
    
    AliHFEpid *pidbackground = backe->GetPIDBackground();
    pidbackground->AddDetector("TPC", 0);
    pidbackground->ConfigureTPCasymmetric(0.0,9999.,minTPCback,maxTPCback);
    backe->GetPIDBackgroundQAManager()->SetHighResolutionHistos();
    backe->SetHFEBackgroundCuts(hfeBackgroundCuts);
    
    // Selection of associated tracks for the pool
    backe->SelectCategory1Tracks(kTRUE);
    /*
      if(useCat2Tracks){
      backe->SelectCategory2Tracks(kTRUE);
      backe-> SetITSMeanShift(-0.5);
      }
    */
    
    // apply opening angle cut to reduce file size
    backe->SetMaxInvMass(0.3);
    
    task->SetHFEBackgroundSubtraction(backe);
    //AliLog::SetClassDebugLevel("AliAnalysisTaskHFEFlowTPCTOFEPSP",3);
    /////////////////////////////////////////////
    /////////////////////////////////////////////
    
  } 

  task->SetHFEVZEROEventPlane(0x0);
  //AliLog::SetClassDebugLevel("AliAnalysisTaskHFEFlow",3);

  mgr->AddTask(task);

  TString containerName = mgr->GetCommonFileName();
  containerName += ":";
  containerName += appendixx.Data();

  AliAnalysisDataContainer *cinput  = mgr->GetCommonInputContainer();
  mgr->ConnectOutput(task,1, mgr->CreateContainer(Form("list_%s",appendixx.Data()), TList::Class(),AliAnalysisManager::kOutputContainer,containerName.Data()));
  mgr->ConnectInput(task,0, cinput );    

  return NULL;

  
}
 AddTaskHFEFlowTPCTOFEPSP.C:1
 AddTaskHFEFlowTPCTOFEPSP.C:2
 AddTaskHFEFlowTPCTOFEPSP.C:3
 AddTaskHFEFlowTPCTOFEPSP.C:4
 AddTaskHFEFlowTPCTOFEPSP.C:5
 AddTaskHFEFlowTPCTOFEPSP.C:6
 AddTaskHFEFlowTPCTOFEPSP.C:7
 AddTaskHFEFlowTPCTOFEPSP.C:8
 AddTaskHFEFlowTPCTOFEPSP.C:9
 AddTaskHFEFlowTPCTOFEPSP.C:10
 AddTaskHFEFlowTPCTOFEPSP.C:11
 AddTaskHFEFlowTPCTOFEPSP.C:12
 AddTaskHFEFlowTPCTOFEPSP.C:13
 AddTaskHFEFlowTPCTOFEPSP.C:14
 AddTaskHFEFlowTPCTOFEPSP.C:15
 AddTaskHFEFlowTPCTOFEPSP.C:16
 AddTaskHFEFlowTPCTOFEPSP.C:17
 AddTaskHFEFlowTPCTOFEPSP.C:18
 AddTaskHFEFlowTPCTOFEPSP.C:19
 AddTaskHFEFlowTPCTOFEPSP.C:20
 AddTaskHFEFlowTPCTOFEPSP.C:21
 AddTaskHFEFlowTPCTOFEPSP.C:22
 AddTaskHFEFlowTPCTOFEPSP.C:23
 AddTaskHFEFlowTPCTOFEPSP.C:24
 AddTaskHFEFlowTPCTOFEPSP.C:25
 AddTaskHFEFlowTPCTOFEPSP.C:26
 AddTaskHFEFlowTPCTOFEPSP.C:27
 AddTaskHFEFlowTPCTOFEPSP.C:28
 AddTaskHFEFlowTPCTOFEPSP.C:29
 AddTaskHFEFlowTPCTOFEPSP.C:30
 AddTaskHFEFlowTPCTOFEPSP.C:31
 AddTaskHFEFlowTPCTOFEPSP.C:32
 AddTaskHFEFlowTPCTOFEPSP.C:33
 AddTaskHFEFlowTPCTOFEPSP.C:34
 AddTaskHFEFlowTPCTOFEPSP.C:35
 AddTaskHFEFlowTPCTOFEPSP.C:36
 AddTaskHFEFlowTPCTOFEPSP.C:37
 AddTaskHFEFlowTPCTOFEPSP.C:38
 AddTaskHFEFlowTPCTOFEPSP.C:39
 AddTaskHFEFlowTPCTOFEPSP.C:40
 AddTaskHFEFlowTPCTOFEPSP.C:41
 AddTaskHFEFlowTPCTOFEPSP.C:42
 AddTaskHFEFlowTPCTOFEPSP.C:43
 AddTaskHFEFlowTPCTOFEPSP.C:44
 AddTaskHFEFlowTPCTOFEPSP.C:45
 AddTaskHFEFlowTPCTOFEPSP.C:46
 AddTaskHFEFlowTPCTOFEPSP.C:47
 AddTaskHFEFlowTPCTOFEPSP.C:48
 AddTaskHFEFlowTPCTOFEPSP.C:49
 AddTaskHFEFlowTPCTOFEPSP.C:50
 AddTaskHFEFlowTPCTOFEPSP.C:51
 AddTaskHFEFlowTPCTOFEPSP.C:52
 AddTaskHFEFlowTPCTOFEPSP.C:53
 AddTaskHFEFlowTPCTOFEPSP.C:54
 AddTaskHFEFlowTPCTOFEPSP.C:55
 AddTaskHFEFlowTPCTOFEPSP.C:56
 AddTaskHFEFlowTPCTOFEPSP.C:57
 AddTaskHFEFlowTPCTOFEPSP.C:58
 AddTaskHFEFlowTPCTOFEPSP.C:59
 AddTaskHFEFlowTPCTOFEPSP.C:60
 AddTaskHFEFlowTPCTOFEPSP.C:61
 AddTaskHFEFlowTPCTOFEPSP.C:62
 AddTaskHFEFlowTPCTOFEPSP.C:63
 AddTaskHFEFlowTPCTOFEPSP.C:64
 AddTaskHFEFlowTPCTOFEPSP.C:65
 AddTaskHFEFlowTPCTOFEPSP.C:66
 AddTaskHFEFlowTPCTOFEPSP.C:67
 AddTaskHFEFlowTPCTOFEPSP.C:68
 AddTaskHFEFlowTPCTOFEPSP.C:69
 AddTaskHFEFlowTPCTOFEPSP.C:70
 AddTaskHFEFlowTPCTOFEPSP.C:71
 AddTaskHFEFlowTPCTOFEPSP.C:72
 AddTaskHFEFlowTPCTOFEPSP.C:73
 AddTaskHFEFlowTPCTOFEPSP.C:74
 AddTaskHFEFlowTPCTOFEPSP.C:75
 AddTaskHFEFlowTPCTOFEPSP.C:76
 AddTaskHFEFlowTPCTOFEPSP.C:77
 AddTaskHFEFlowTPCTOFEPSP.C:78
 AddTaskHFEFlowTPCTOFEPSP.C:79
 AddTaskHFEFlowTPCTOFEPSP.C:80
 AddTaskHFEFlowTPCTOFEPSP.C:81
 AddTaskHFEFlowTPCTOFEPSP.C:82
 AddTaskHFEFlowTPCTOFEPSP.C:83
 AddTaskHFEFlowTPCTOFEPSP.C:84
 AddTaskHFEFlowTPCTOFEPSP.C:85
 AddTaskHFEFlowTPCTOFEPSP.C:86
 AddTaskHFEFlowTPCTOFEPSP.C:87
 AddTaskHFEFlowTPCTOFEPSP.C:88
 AddTaskHFEFlowTPCTOFEPSP.C:89
 AddTaskHFEFlowTPCTOFEPSP.C:90
 AddTaskHFEFlowTPCTOFEPSP.C:91
 AddTaskHFEFlowTPCTOFEPSP.C:92
 AddTaskHFEFlowTPCTOFEPSP.C:93
 AddTaskHFEFlowTPCTOFEPSP.C:94
 AddTaskHFEFlowTPCTOFEPSP.C:95
 AddTaskHFEFlowTPCTOFEPSP.C:96
 AddTaskHFEFlowTPCTOFEPSP.C:97
 AddTaskHFEFlowTPCTOFEPSP.C:98
 AddTaskHFEFlowTPCTOFEPSP.C:99
 AddTaskHFEFlowTPCTOFEPSP.C:100
 AddTaskHFEFlowTPCTOFEPSP.C:101
 AddTaskHFEFlowTPCTOFEPSP.C:102
 AddTaskHFEFlowTPCTOFEPSP.C:103
 AddTaskHFEFlowTPCTOFEPSP.C:104
 AddTaskHFEFlowTPCTOFEPSP.C:105
 AddTaskHFEFlowTPCTOFEPSP.C:106
 AddTaskHFEFlowTPCTOFEPSP.C:107
 AddTaskHFEFlowTPCTOFEPSP.C:108
 AddTaskHFEFlowTPCTOFEPSP.C:109
 AddTaskHFEFlowTPCTOFEPSP.C:110
 AddTaskHFEFlowTPCTOFEPSP.C:111
 AddTaskHFEFlowTPCTOFEPSP.C:112
 AddTaskHFEFlowTPCTOFEPSP.C:113
 AddTaskHFEFlowTPCTOFEPSP.C:114
 AddTaskHFEFlowTPCTOFEPSP.C:115
 AddTaskHFEFlowTPCTOFEPSP.C:116
 AddTaskHFEFlowTPCTOFEPSP.C:117
 AddTaskHFEFlowTPCTOFEPSP.C:118
 AddTaskHFEFlowTPCTOFEPSP.C:119
 AddTaskHFEFlowTPCTOFEPSP.C:120
 AddTaskHFEFlowTPCTOFEPSP.C:121
 AddTaskHFEFlowTPCTOFEPSP.C:122
 AddTaskHFEFlowTPCTOFEPSP.C:123
 AddTaskHFEFlowTPCTOFEPSP.C:124
 AddTaskHFEFlowTPCTOFEPSP.C:125
 AddTaskHFEFlowTPCTOFEPSP.C:126
 AddTaskHFEFlowTPCTOFEPSP.C:127
 AddTaskHFEFlowTPCTOFEPSP.C:128
 AddTaskHFEFlowTPCTOFEPSP.C:129
 AddTaskHFEFlowTPCTOFEPSP.C:130
 AddTaskHFEFlowTPCTOFEPSP.C:131
 AddTaskHFEFlowTPCTOFEPSP.C:132
 AddTaskHFEFlowTPCTOFEPSP.C:133
 AddTaskHFEFlowTPCTOFEPSP.C:134
 AddTaskHFEFlowTPCTOFEPSP.C:135
 AddTaskHFEFlowTPCTOFEPSP.C:136
 AddTaskHFEFlowTPCTOFEPSP.C:137
 AddTaskHFEFlowTPCTOFEPSP.C:138
 AddTaskHFEFlowTPCTOFEPSP.C:139
 AddTaskHFEFlowTPCTOFEPSP.C:140
 AddTaskHFEFlowTPCTOFEPSP.C:141
 AddTaskHFEFlowTPCTOFEPSP.C:142
 AddTaskHFEFlowTPCTOFEPSP.C:143
 AddTaskHFEFlowTPCTOFEPSP.C:144
 AddTaskHFEFlowTPCTOFEPSP.C:145
 AddTaskHFEFlowTPCTOFEPSP.C:146
 AddTaskHFEFlowTPCTOFEPSP.C:147
 AddTaskHFEFlowTPCTOFEPSP.C:148
 AddTaskHFEFlowTPCTOFEPSP.C:149
 AddTaskHFEFlowTPCTOFEPSP.C:150
 AddTaskHFEFlowTPCTOFEPSP.C:151
 AddTaskHFEFlowTPCTOFEPSP.C:152
 AddTaskHFEFlowTPCTOFEPSP.C:153
 AddTaskHFEFlowTPCTOFEPSP.C:154
 AddTaskHFEFlowTPCTOFEPSP.C:155