+++ /dev/null
-void runAODFilterJets()
-{
-
- bool bKineFilter = true;
- bool bJets = true;
-
- gSystem->Load("libTree.so");
- gSystem->Load("libPhysics.so");
- gSystem->Load("libGeom.so");
- gSystem->Load("libVMC.so");
-
- gSystem->Load("libSTEERBase.so");
- gSystem->Load("libESD.so");
- gSystem->Load("libAOD.so");
- gSystem->Load("libANALYSIS.so");
- gSystem->Load("libANALYSISalice.so");
- if(bJets)gSystem->Load("libJETAN.so");
-
- // Create the chain
- //
- TChain *chain = new TChain("esdTree");
- chain->Add("AliESDs.root");
-
- ////////////////////////////////////////////////////////////////////////
- // Create the analysis manager
- //
- // Input
- AliESDInputHandler* inpHandler = new AliESDInputHandler();
- // Output
- AliAODHandler* aodHandler = new AliAODHandler();
- aodHandler->SetOutputFileName("AliAOD.root");
- // MC Truth
- AliMCEventHandler* mcHandler = new AliMCEventHandler();
- AliAnalysisManager *mgr = new AliAnalysisManager("Filter Manager", "Filter Manager");
- if(bKineFilter){
- mgr->SetMCtruthEventHandler(mcHandler);
- }
-
- mgr->SetInputEventHandler (inpHandler);
- mgr->SetOutputEventHandler (aodHandler);
-
- mgr->SetDebugLevel(10);
-
- // Filtering of MC particles (decays conversions etc)
- // this task is also needed to set the MCEventHandler
- // to the AODHandler, this will not be needed when
- // AODHandler goes to ANALYSISalice
- AliAnalysisTaskMCParticleFilter *kinefilter = new AliAnalysisTaskMCParticleFilter("Particle Filter");
- if(bKineFilter)mgr->AddTask(kinefilter);
-
-
- //
- // soft
- AliESDtrackCuts* esdTrackCutsL = new AliESDtrackCuts("AliESDtrackCuts", "Loose");
- esdTrackCutsL->SetMinNClustersTPC(50);
- esdTrackCutsL->SetMaxChi2PerClusterTPC(3.5);
- esdTrackCutsL->SetMaxCovDiagonalElements(2,2,0.5,0.5,2);
- esdTrackCutsL->SetRequireTPCRefit(kTRUE);
- esdTrackCutsL->SetMaxDCAToVertexZ(3.0);
- esdTrackCutsL->SetMaxDCAToVertexXY(3.0);
- esdTrackCutsL->SetRequireSigmaToVertex(kFALSE);
- esdTrackCutsL->SetAcceptKingDaughters(kFALSE);
-
- //
- // hard
- AliESDtrackCuts* esdTrackCutsH = new AliESDtrackCuts("AliESDtrackCuts", "Har
-d");
- esdTrackCutsH->SetMinNClustersTPC(100);
- esdTrackCutsH->SetMaxChi2PerClusterTPC(2.0);
- esdTrackCutsH->SetMaxCovDiagonalElements(2,2,0.5,0.5,2);
- esdTrackCutsH->SetRequireTPCRefit(kTRUE);
- esdTrackCutsL->SetMaxDCAToVertexZ(3.0);
- esdTrackCutsL->SetMaxDCAToVertexXY(3.0);
- esdTrackCutsH->SetRequireSigmaToVertex(kFALSE);
- esdTrackCutsH->SetAcceptKingDaughters(kFALSE);
- //
-
- AliAnalysisTaskJets *jetana = 0;
- AliAnalysisTaskJets *jetanaMC = 0;
-
- if(bJets){
- jetana = new AliAnalysisTaskJets("JetAnalysis");
- jetana->SetConfigFile("../ConfigJetAnalysis.C");
- jetana->SetDebugLevel(10);
-
- jetanaMC = new AliAnalysisTaskJets("JetAnalysisMC");
- jetanaMC->SetDebugLevel(10);
- jetanaMC->SetConfigFile("../ConfigJetAnalysisMC.C");
- jetanaMC->SetNonStdBranch("jetsMC");
- mgr->AddTask(jetanaMC);
- mgr->AddTask(jetana);
- }
-
- AliAnalysisFilter* trackFilter = new AliAnalysisFilter("trackFilter");
- trackFilter->AddCuts(esdTrackCutsL);
- trackFilter->AddCuts(esdTrackCutsH);
-
- AliAnalysisTaskESDfilter *esdfilter = new AliAnalysisTaskESDfilter("ESD Filter");
- esdfilter->SetTrackFilter(trackFilter);
-
- mgr->AddTask(esdfilter);
-
-
- //
- // Create containers for input/output
- AliAnalysisDataContainer *cinput1 = mgr->CreateContainer("cchain",TChain::Class(),
- AliAnalysisManager::kInputContainer);
-
- AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("tree", TTree::Class(),
- AliAnalysisManager::kOutputContainer, "default");
-
- coutput1->SetSpecialOutput();
-
- if(bKineFilter){
- mgr->ConnectInput (kinefilter, 0, cinput1 );
- mgr->ConnectOutput (kinefilter, 0, coutput1 );
- }
-
- mgr->ConnectInput (esdfilter, 0, cinput1 );
- mgr->ConnectOutput (esdfilter, 0, coutput1 );
-
- if(bJets){
- AliAnalysisDataContainer *coutput2 = mgr->CreateContainer("histos", TList::Class(),
- AliAnalysisManager::kOutputContainer, "histosJets.root");
-
- AliAnalysisDataContainer *coutputMC2 = mgr->CreateContainer("histosMC", TList::Class(), AliAnalysisManager::kOutputContainer, "histosJetsMC.root");
-
- mgr->ConnectInput (jetana, 0, cinput1 );
- mgr->ConnectOutput (jetana, 0, coutput1 );
- mgr->ConnectOutput (jetana, 1, coutput2 );
- mgr->ConnectInput (jetanaMC, 0, cinput1 );
- mgr->ConnectOutput (jetanaMC, 0, coutput1 );
- mgr->ConnectOutput (jetanaMC, 1, coutputMC2 );
- }
-
- //
- // Run the analysis
- //
- mgr->InitAnalysis();
- mgr->PrintStatus();
- mgr->StartAnalysis("local",chain);
-
-}