ROOT logo
void JetAnalysisManagerHLTMC() {

  if ( getenv("FASTJET") ) {
    gSystem->Load("libCGAL.so");
    gSystem->Load("libfastjet.so");
    gSystem->Load("libSISConePlugin.so");
  }

  gSystem->Load("libTree.so");
  gSystem->Load("libPhysics.so");
  gSystem->Load("libGeom.so");
  gSystem->Load("libVMC.so");
  gSystem->Load("libANALYSIS.so");
  gSystem->Load("libSTEERBase.so");
  gSystem->Load("libAOD.so");
  gSystem->Load("libESD.so");
  gSystem->Load("libANALYSISalice.so");
  gSystem->Load("libJETAN.so");
 
  gSystem->Load("libHLTbase.so");
  gSystem->Load("libAliHLTUtil.so");
  gSystem->Load("libAliHLTJET.so");

  Int_t debugLevel = 10;
  
  // --------------------------------------------------------------------------------  
    
  if (gApplication) gApplication->InitializeGraphics();

  // --------------------------------------------------------------------------------  
  //
  // Create the chain
  //
  // --------------------------------------------------------------------------------  

  gROOT->LoadMacro("${ALICE_ROOT}/PWG0/CreateESDChain.C");
  TChain* chain = new TChain("TE");

  chain->Add("/home/jthaeder/jet/data/HEAD_2009-10-26/FastGen/kPythia6Jets125_150_14TeV/JET-ETA=-0.2,0.2_JET-ET=50,1000_R=0.4_200ev/galice.root");

  // --------------------------------------------------------------------------------  
  //
  // Create the analysis manager
  //
  // --------------------------------------------------------------------------------  

  // Output
  AliAODHandler* aodHandler = new AliAODHandler();
  aodHandler->SetOutputFileName("aod.root");

  // MC Truth
  AliMCEventHandler* mcHandler = new AliMCEventHandler();
  mcHandler->SetReadTR(kFALSE); // for fastgen

  AliAnalysisManager *mgr  = new AliAnalysisManager("Jet Manager", "Jet Manager");
  mgr->SetOutputEventHandler (aodHandler);
  mgr->SetMCtruthEventHandler(mcHandler);
  mgr->SetDebugLevel(debugLevel);

  // --------------------------------------------------------------------------------
  //
  // Set Configfiles
  //
  // --------------------------------------------------------------------------------

  // -- HLT FFSC - MC
#if FFSC
  AliAnalysisTaskJets *taskFFSC = new AliAnalysisTaskJets("JetAnalysisHLTMC_FFSC");
  taskFFSC->SetConfigFile("./tasks/ConfigJetAnalysisHLTMC.C");
  taskFFSC->SetNonStdBranch("jetsHLTMC_FFSC");
  taskFFSC->SetDebugLevel(debugLevel);
  mgr->AddTask(taskFFSC);
#endif

  // -- HLT FastJet - Kt
#if FASTJET_KT
  if ( getenv("FASTJET") ) {
    AliAnalysisTaskJets *taskKt = new AliAnalysisTaskJets("JetAnalysisHLTMC_Kt");
    taskKt->SetConfigFile("./tasks/ConfigJetAnalysisHLTMCKt.C");
    taskKt->SetNonStdBranch("jetsHLTMC_Kt");
    taskKt->SetDebugLevel(debugLevel);
    mgr->AddTask(taskKt);
  }
#endif

#if FASTJET_ANTIKT
  // -- HLT FastJet - AntiKt
  if ( getenv("FASTJET") ) {
    AliAnalysisTaskJets *taskAntiKt = new AliAnalysisTaskJets("JetAnalysisHLTMC_AntiKt");
    taskAntiKt->SetConfigFile("./tasks/ConfigJetAnalysisHLTMCAntiKt.C");
    taskAntiKt->SetNonStdBranch("jetsHLTMC_AntiKt");
    taskAntiKt->SetDebugLevel(debugLevel);
    mgr->AddTask(taskAntiKt);
  }
#endif

  // --------------------------------------------------------------------------------
  //
  // Create containers for input/output
  //
  // --------------------------------------------------------------------------------  

  AliAnalysisDataContainer *cinput1 = mgr->GetCommonInputContainer();
  AliAnalysisDataContainer *coutput1 = mgr->GetCommonOutputContainer();

#if FFSC
  AliAnalysisDataContainer *coutputFFSC = mgr->CreateContainer("histos", TList::Class(), 
							       AliAnalysisManager::kOutputContainer, "histos_MC_FFSC.root");
  mgr->ConnectInput  (taskFFSC,     0, cinput1  );
  mgr->ConnectOutput (taskFFSC,     0, coutput1 );
  mgr->ConnectOutput (taskFFSC,     1, coutputFFSC );
#endif
  
#if FASTJET_KT
  if ( getenv("FASTJET") ) {
    AliAnalysisDataContainer *coutputKt = mgr->CreateContainer("histos", TList::Class(), 
							       AliAnalysisManager::kOutputContainer, "histos_MC_KT.root");
    mgr->ConnectInput  (taskKt,     0, cinput1  );
    mgr->ConnectOutput (taskKt,     0, coutput1 );
    mgr->ConnectOutput (taskKt,     1, coutputKt );
  }
#endif

#if FASTJET_ANTIKT
  if ( getenv("FASTJET") ) {
    AliAnalysisDataContainer *coutputAntiKt = mgr->CreateContainer("histos", TList::Class(), 
								   AliAnalysisManager::kOutputContainer, "histos_MC_ANTIKT.root");
    mgr->ConnectInput  (taskAntiKt,     0, cinput1  );
    mgr->ConnectOutput (taskAntiKt,     0, coutput1 );
    mgr->ConnectOutput (taskAntiKt,     1, coutputAntiKt );
  }
#endif

  //  AliAnalysisTaskKineFilter *kinefilter = new AliAnalysisTaskKineFilter("Kine Filter");
  //  mgr->AddTask(kinefilter);
  //  mgr->ConnectInput  (kinefilter,     0, cinput1  );
  //  mgr->ConnectOutput (kinefilter,     0, coutput1 );

  // --------------------------------------------------------------------------------  
  //
  // Run the analysis
  //    
  // --------------------------------------------------------------------------------  

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