ROOT logo

void runProofvsTime(const char * dataset = "LHC09b12_7TeV_0.5T", TString dataSetPath ="/PWG0/jgrosseo/",const char * filename = "LHC09b12_7TeV_0.5T_bg.root",Int_t start=0, Int_t stop =1000, Int_t cuts = 0, Bool_t mc = kFALSE, Bool_t useBINT = kFALSE, Int_t nev =123456789) {
//void runProofvsTime(const char * dataset = "LHC09b12_7TeV_0.5T", TString dataSetPath ="/PWG0/jgrosseo/",const char * filename = "LHC09b12_7TeV_0.5T_bg.root",Int_t start=0, Int_t stop =1000, Int_t cuts = 0, Bool_t mc = kFALSE, Bool_t useBINT = kFALSE, Int_t nev =10000) {
  gEnv->SetValue("XSec.GSI.DelegProxy","2");
  //  TProof::Mgr("alicecaf")->SetROOTVersion("v5-24-00a_dbg");
  //TProof::Open("alicecaf", "valgrind=workers#4");
  //  TProof::Open("alicecaf");
  TProof::Open("mfloris@alicecaf.cern.ch");
  
  //  gSystem->AddIncludePath("-I${ALICE_ROOT}/include/ -I${ALICE_ROOT}/PWG0/ -I${ALICE_ROOT}/PWG0/dNdEta/");
  gSystem->AddIncludePath("-I${ALICE_ROOT}/include/");
  gProof->UploadPackage("$ALICE_ROOT/STEERBase");
  gProof->EnablePackage("$ALICE_ROOT/STEERBase");
  gProof->UploadPackage("$ALICE_ROOT/ESD");
  gProof->EnablePackage("$ALICE_ROOT/ESD");
  gProof->UploadPackage("$ALICE_ROOT/AOD");
  gProof->EnablePackage("$ALICE_ROOT/AOD");
  gProof->UploadPackage("$ALICE_ROOT/ANALYSIS");
  gProof->EnablePackage("$ALICE_ROOT/ANALYSIS");
  gProof->UploadPackage("$ALICE_ROOT/ANALYSISalice");
  gProof->EnablePackage("$ALICE_ROOT/ANALYSISalice");
  gProof->UploadPackage("$ALICE_ROOT/CORRFW");
  gProof->EnablePackage("$ALICE_ROOT/CORRFW");
 

    // Make the analysis manager
  AliAnalysisManager *mgr = new AliAnalysisManager("TestManager");
  //  mgr->SetDebugLevel(3);
  // Add ESD handler
  AliESDInputHandler* esdH = new AliESDInputHandler; 

  mgr->SetInputEventHandler(esdH);
  
  if(mc) {
    AliMCEventHandler *mch = new AliMCEventHandler();
    mch->SetReadTR(kFALSE);
    mgr->SetMCtruthEventHandler(mch);
  }
  // assign simple task
  gProof->Load(gSystem->ExpandPathName("$(ALICE_ROOT)/PWGPP/background/AliHistoListWrapper.cxx++g"));   
  gProof->Load(gSystem->ExpandPathName("$(ALICE_ROOT)/PWGPP/background/AliAnalysisTaskBGvsTime.cxx++g"));   
  //____________________________________________//
  // assign simple task
  AliAnalysisTaskBGvsTime * task = new AliAnalysisTaskBGvsTime("TaskBG");
  //  task->SetMC();
  const Int_t mult_bins[] = {0,1000};
  task->SetMultBins(2,mult_bins);
  //  task->SetBinWidth(2); // binw in secs
  task->SetBinWidth(300); // binw in secs
  task->SetTimes(start,stop);

  if(mc) task->SetMC();

  if (cuts == 0 )       task->SetNoCuts();
  else if (cuts == 2 )  task->SetUsePhysicsSelection();
  else if (cuts == 3 )  {task->SetUsePhysicsSelection();task->SetUseZeroBin();}
  else if (cuts == 4 )  {task->SetUsePhysicsSelection();task->SetSkipV0();task->SetUseZeroBin();}
  else if (cuts == 5 )  {task->SetUsePhysicsSelection();task->SetSkipV0();task->SetSkipZeroBin();}

  if(useBINT) task->SetUseBI();
  
  mgr->AddTask(task);

  AliAnalysisDataContainer *cinput1 = mgr->GetCommonInputContainer();	
  mgr->ConnectInput(task,0,cinput1);

  
  // Attach output
  cOutput = mgr->CreateContainer("BGvsTime", 
				 AliHistoListWrapper::Class(), AliAnalysisManager::kOutputContainer,filename);
  mgr->ConnectOutput(task, 1, cOutput);      
  cOutput = mgr->CreateContainer("PhysSel", 
				 AliPhysicsSelection::Class(), AliAnalysisManager::kOutputContainer,filename);
  mgr->ConnectOutput(task, 2, cOutput);      


	
  if (!mgr->InitAnalysis()) return;
	
  mgr->PrintStatus();
  mgr->StartAnalysis("proof",dataSetPath+dataset+"#esdTree",nev);

  if( cuts == 0 ){ 
    cout << "WARNING: disabled cuts" << endl;
  } else if (cuts == 2) {
    cout << "INFO: Using Physics Selection" << endl;
  }

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