IlcCentralitySelectionTask *AddTaskCentrality(Bool_t fillHistos=kTRUE) { // Macro to connect a centrality selection task to an existing analysis manager. IlcAnalysisManager *mgr = IlcAnalysisManager::GetAnalysisManager(); if (!mgr) { ::Error("AddTaskCentrality", "No analysis manager to connect to."); return NULL; } // Check the analysis type using the event handlers connected to the analysis manager. //============================================================================== if (!mgr->GetInputEventHandler()) { ::Error("AddTaskCentrality", "This task requires an input event handler"); return NULL; } TString inputDataType = mgr->GetInputEventHandler()->GetDataType(); // can be "ESD" or "AOD" if (inputDataType != "ESD") { ::Error("AddTaskCentrality", "This task works only on ESD analysis"); return NULL; } IlcCentralitySelectionTask *centralityTask = new IlcCentralitySelectionTask("CentralitySelection"); centralityTask->SelectCollisionCandidates(IlcVEvent::kAny); mgr->AddTask(centralityTask); mgr->ConnectInput(centralityTask, 0, mgr->GetCommonInputContainer()); if (fillHistos) { centralityTask->SetFillHistos(); IlcAnalysisDataContainer *coutput1 = mgr->CreateContainer("CentralityStat", TList::Class(), IlcAnalysisManager::kOutputContainer, "EventStat_temp.root"); mgr->ConnectOutput(centralityTask,1,coutput1); } return centralityTask; }
void DphiAnalysis() { 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("libANALYSISilc.so"); // if (gApplication) gApplication->InitializeGraphics(); // Create the chain // //TString path("/afs/cern.ch/user/m/morsch/public/"); TString path("./"); TChain* chain = new TChain("aodTree"); chain->Add(Form("%s/%s",path.Data(),"IlcAOD.root")); /////////////////////////////////////////////////////////////////////////////////// // Create the analysis manager // // Input IlcMultiEventInputHandler* inpHandler = new IlcMultiEventInputHandler(2, 1); // Pool IlcEventPoolOTF* pool = new IlcEventPoolOTF("event pool", "AOD"); pool->SetTagDirectory(path.Data()); pool->SetMultiplicityBin(0, 100, 100); pool->Init(); IlcAnalysisManager *mgr = new IlcAnalysisManager("Jet Manager", "Jet Manager"); mgr->SetInputEventHandler (inpHandler); mgr->SetEventPool(pool); inpHandler->SetEventPool(pool); mgr->SetDebugLevel(10); /////////////////////////////////////////////////////////////////////////////////// gROOT->LoadMacro("IlcAnalysisTaskPhiCorr.cxx++g"); IlcAnalysisTaskPhiCorr *dphiana = new IlcAnalysisTaskPhiCorr("Phi Correlation Analysis"); dphiana->SetDebugLevel(10); mgr->AddTask(dphiana); // // Create containers for input/output IlcAnalysisDataContainer *cinput1 = mgr->CreateContainer("cchain",TChain::Class(), IlcAnalysisManager::kInputContainer); IlcAnalysisDataContainer *coutput1 = mgr->CreateContainer("tree", TTree::Class(), IlcAnalysisManager::kExchangeContainer, "default"); IlcAnalysisDataContainer *coutput2 = mgr->CreateContainer("histos", TList::Class(), IlcAnalysisManager::kOutputContainer, "histos.root"); mgr->ConnectInput (dphiana, 0, mgr->GetCommonInputContainer()); mgr->ConnectOutput (dphiana, 0, coutput1 ); mgr->ConnectOutput (dphiana, 1, coutput2 ); // // Run the analysis // mgr->InitAnalysis(); mgr->PrintStatus(); mgr->StartAnalysis("mix",chain, 1000); }
void JetAnalysisManagerKine() { 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("libANALYSISilc.so"); gSystem->Load("libJETAN.so"); // if (gApplication) gApplication->InitializeGraphics(); // Create the chain // gROOT->LoadMacro("CreateESDChain.C"); TChain* chain = new TChain("TE"); chain->Add("/Users/kleinb/ilc/sim/PDC_08/LHC08v/280039/999/gilc.root"); /////////////////////////////////////////////////////////////////////////////////// // Create the analysis manager // // Output IlcAODHandler* aodHandler = new IlcAODHandler(); aodHandler->SetOutputFileName("aod.root"); // MC Truth IlcMCEventHandler* mcHandler = new IlcMCEventHandler(); IlcAnalysisManager *mgr = new IlcAnalysisManager("Jet Manager", "Jet Manager"); mgr->SetOutputEventHandler (aodHandler); mgr->SetMCtruthEventHandler(mcHandler); mgr->SetDebugLevel(10); IlcAnalysisTaskKineFilter *kinefilter = new IlcAnalysisTaskKineFilter("Kine Filter"); mgr->AddTask(kinefilter); IlcAnalysisTaskJets *jetana = new IlcAnalysisTaskJets("JetAnalysis"); jetana->SetConfigFile("ConfigJetAnalysisMC.C"); jetana->SetDebugLevel(10); mgr->AddTask(jetana); // // Create containers for input/output IlcAnalysisDataContainer *cinput1 = mgr->CreateContainer("cchain",TChain::Class(), IlcAnalysisManager::kInputContainer); IlcAnalysisDataContainer *coutput1 = mgr->CreateContainer("tree", TTree::Class(), IlcAnalysisManager::kOutputContainer, "default"); IlcAnalysisDataContainer *coutput2 = mgr->CreateContainer("histos", TList::Class(), IlcAnalysisManager::kOutputContainer, "histos.root"); mgr->ConnectInput (kinefilter, 0, cinput1 ); mgr->ConnectOutput (kinefilter, 0, coutput1 ); mgr->ConnectInput (jetana, 0, cinput1 ); mgr->ConnectOutput (jetana, 0, coutput1 ); mgr->ConnectOutput (jetana, 1, coutput2 ); // // Run the analysis // mgr->InitAnalysis(); mgr->PrintStatus(); mgr->StartAnalysis("local",chain); }