ROOT logo

// $Id: AddTaskDiJetCorrelations.C

AliAnalysisTaskDiJetCorrelations *AddTaskDiJetCorrelations(TString suffixName="",
							   Bool_t SEorME = kTRUE,
							   Bool_t ppOrPbPb = kTRUE,
							   Double_t pTrg1min = 12.0,
							   Double_t pTrg1max = 16.0,
							   Double_t pTrg2min = 5.0,
							   Double_t pTrg2max = 8.0,
							   TString effLoc = "/alice/cern.ch/user/r/rvarma/TEST/Dcorr/Dec9/THnEfficiency.root")
{
  
  Bool_t UseFbits = kTRUE;
  
  //____________________________________| Correlation class setting..
  AliAnalysisTaskDiJetCorrelations *dijetcorrelations = new AliAnalysisTaskDiJetCorrelations("");
  dijetcorrelations->
    (AliVEvent::kMB);
  dijetcorrelations->SetSystem(ppOrPbPb); //PbPb = kTRUE
  dijetcorrelations->SetSEorME(SEorME); //kTRUE for mixed events
  if(SEorME)dijetcorrelations->SetMESettings(500, 25000, 8); //evt,track,minMixEvents
  dijetcorrelations->SetTrigger1PTValue(pTrg1min, pTrg1max); //GeV/c
  dijetcorrelations->SetTrigger2PTValue(pTrg2min, pTrg2max); //GeV/c
  dijetcorrelations->SetFilterBit(UseFbits);
  if(UseFbits)dijetcorrelations->SetFilterType(272);
  if(ppOrPbPb)dijetcorrelations->SetCentralityRange(0., 100.1); // 0-100%
  dijetcorrelations->SetDataType(kTRUE); //track Data/MC tracks=1 or MC Part=0?
  dijetcorrelations->SetVarCentBin(kTRUE); // kTRUE have some trouble ! FIX ME
  dijetcorrelations->SetVarPtBin(kTRUE); // kTRUE have some trouble ! FIX ME
   
  // Create containers for input/output        
  TString finDirname         = "_DiJetMayCERN";
  TString inname             = "cinputDiJetCorrelations";
  TString outBasicname       = "coutputDiJetBasicPlots";
  TString outCorrname        = "coutputDiJetCorrHistos";

  finDirname += suffixName.Data();
  inname            +=   finDirname.Data();
  outBasicname      +=   finDirname.Data();
  outCorrname       +=   finDirname.Data();
  
  
  // Get the pointer to the existing analysis manager via the static access method.                                                     
  AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
  if (!mgr) {
    cout<<"AddTaskDiJetCorrelations", "No analysis manager to connect to."<<endl;
  }
  
  mgr->AddTask(dijetcorrelations);
  
  //Input and Output Slots:
  AliAnalysisDataContainer *cinputDiJetCorrelations = mgr->CreateContainer(inname,TChain::Class(), AliAnalysisManager::kInputContainer);
  //TString outputfile = AliAnalysisManager::GetCommonFileName();
  //outputfile += ":PWGCF_Di_Jet_Corr";
  TString outputfile = AliAnalysisManager::GetCommonFileName();//"resultsDiJetCorrelationsT112to16T25to8Dec8.root";

  
  AliAnalysisDataContainer *coutputDiJetCorrelations1 = mgr->CreateContainer(outBasicname,TList::Class(),AliAnalysisManager::kOutputContainer,outputfile.Data());
  AliAnalysisDataContainer *coutputDiJetCorrelations2 = mgr->CreateContainer(outCorrname,TList::Class(),AliAnalysisManager::kOutputContainer,outputfile.Data());
  
  
  mgr->ConnectInput(dijetcorrelations,0,mgr->GetCommonInputContainer());
  mgr->ConnectOutput(dijetcorrelations,1,coutputDiJetCorrelations1);
  mgr->ConnectOutput(dijetcorrelations,2,coutputDiJetCorrelations2);
  
  if(effLoc!="")
    dijetcorrelations->Setf3DEffCor(GetEfficiencyCorr(effLoc));

  return dijetcorrelations;
  
}



//loads the efficiency correction
TH3F *GetEfficiencyCorr(TString effLoc){

  TFile* f = 0x0;
  f = TFile::Open(effLoc.Data());
  if(!f){
    Printf("%s%d no input data",(char*)__FILE__,__LINE__);
    return;
  }
  
  TH3F *tmp1 = (TH3F*)f->Get("hpTetaCentRec");
  if(!tmp1){
    Printf("%s%d Couldn't find hpTetaCentRec",(char*)__FILE__,__LINE__);
    return;
  }
  
  return (TH3F*)tmp1->Clone("f3DEffCor");
}
 AddTaskDiJetCorrelations.C:1
 AddTaskDiJetCorrelations.C:2
 AddTaskDiJetCorrelations.C:3
 AddTaskDiJetCorrelations.C:4
 AddTaskDiJetCorrelations.C:5
 AddTaskDiJetCorrelations.C:6
 AddTaskDiJetCorrelations.C:7
 AddTaskDiJetCorrelations.C:8
 AddTaskDiJetCorrelations.C:9
 AddTaskDiJetCorrelations.C:10
 AddTaskDiJetCorrelations.C:11
 AddTaskDiJetCorrelations.C:12
 AddTaskDiJetCorrelations.C:13
 AddTaskDiJetCorrelations.C:14
 AddTaskDiJetCorrelations.C:15
 AddTaskDiJetCorrelations.C:16
 AddTaskDiJetCorrelations.C:17
 AddTaskDiJetCorrelations.C:18
 AddTaskDiJetCorrelations.C:19
 AddTaskDiJetCorrelations.C:20
 AddTaskDiJetCorrelations.C:21
 AddTaskDiJetCorrelations.C:22
 AddTaskDiJetCorrelations.C:23
 AddTaskDiJetCorrelations.C:24
 AddTaskDiJetCorrelations.C:25
 AddTaskDiJetCorrelations.C:26
 AddTaskDiJetCorrelations.C:27
 AddTaskDiJetCorrelations.C:28
 AddTaskDiJetCorrelations.C:29
 AddTaskDiJetCorrelations.C:30
 AddTaskDiJetCorrelations.C:31
 AddTaskDiJetCorrelations.C:32
 AddTaskDiJetCorrelations.C:33
 AddTaskDiJetCorrelations.C:34
 AddTaskDiJetCorrelations.C:35
 AddTaskDiJetCorrelations.C:36
 AddTaskDiJetCorrelations.C:37
 AddTaskDiJetCorrelations.C:38
 AddTaskDiJetCorrelations.C:39
 AddTaskDiJetCorrelations.C:40
 AddTaskDiJetCorrelations.C:41
 AddTaskDiJetCorrelations.C:42
 AddTaskDiJetCorrelations.C:43
 AddTaskDiJetCorrelations.C:44
 AddTaskDiJetCorrelations.C:45
 AddTaskDiJetCorrelations.C:46
 AddTaskDiJetCorrelations.C:47
 AddTaskDiJetCorrelations.C:48
 AddTaskDiJetCorrelations.C:49
 AddTaskDiJetCorrelations.C:50
 AddTaskDiJetCorrelations.C:51
 AddTaskDiJetCorrelations.C:52
 AddTaskDiJetCorrelations.C:53
 AddTaskDiJetCorrelations.C:54
 AddTaskDiJetCorrelations.C:55
 AddTaskDiJetCorrelations.C:56
 AddTaskDiJetCorrelations.C:57
 AddTaskDiJetCorrelations.C:58
 AddTaskDiJetCorrelations.C:59
 AddTaskDiJetCorrelations.C:60
 AddTaskDiJetCorrelations.C:61
 AddTaskDiJetCorrelations.C:62
 AddTaskDiJetCorrelations.C:63
 AddTaskDiJetCorrelations.C:64
 AddTaskDiJetCorrelations.C:65
 AddTaskDiJetCorrelations.C:66
 AddTaskDiJetCorrelations.C:67
 AddTaskDiJetCorrelations.C:68
 AddTaskDiJetCorrelations.C:69
 AddTaskDiJetCorrelations.C:70
 AddTaskDiJetCorrelations.C:71
 AddTaskDiJetCorrelations.C:72
 AddTaskDiJetCorrelations.C:73
 AddTaskDiJetCorrelations.C:74
 AddTaskDiJetCorrelations.C:75
 AddTaskDiJetCorrelations.C:76
 AddTaskDiJetCorrelations.C:77
 AddTaskDiJetCorrelations.C:78
 AddTaskDiJetCorrelations.C:79
 AddTaskDiJetCorrelations.C:80
 AddTaskDiJetCorrelations.C:81
 AddTaskDiJetCorrelations.C:82
 AddTaskDiJetCorrelations.C:83
 AddTaskDiJetCorrelations.C:84
 AddTaskDiJetCorrelations.C:85
 AddTaskDiJetCorrelations.C:86
 AddTaskDiJetCorrelations.C:87
 AddTaskDiJetCorrelations.C:88
 AddTaskDiJetCorrelations.C:89
 AddTaskDiJetCorrelations.C:90
 AddTaskDiJetCorrelations.C:91
 AddTaskDiJetCorrelations.C:92
 AddTaskDiJetCorrelations.C:93
 AddTaskDiJetCorrelations.C:94