--- /dev/null
+AliJetFinder* ConfigJetAnalysis()
+{
+ //
+ // Configuration goes here
+ //
+ printf("ConfigJetAnalysis() \n");
+ // Define the grids
+ AliJetGrid *grid = new AliJetGrid(419,119,0.,2*TMath::Pi(),-0.9,0.9);
+ grid->SetGridType(1);
+ grid->InitParams(80.*TMath::Pi()/180,190.*TMath::Pi()/180,-0.7,0.7);
+ grid->SetMatrixIndexes();
+ grid->SetIndexIJ();
+ AliJetGrid *grid2 = new AliJetGrid(131,95,80.*TMath::Pi()/180.,190.*TMath::Pi()/180.,-0.7,0.7);
+ grid2->SetGridType(0);
+ grid2->SetMatrixIndexes();
+ grid2->SetIndexIJ();
+
+ // Define ESD reader header
+ AliJetESDReaderHeader *jrh = new AliJetESDReaderHeader();
+ jrh->SetComment("Testing");
+ jrh->SetReadSignalOnly(kFALSE);
+ // Detector options: 0 = Charged particles only (MomentumArray)
+ // 1 = Charged particles only (UnitArray)
+ // 2 = Neutral cells only (UnitArray)
+ // 3 = Charged particles + neutral cells (UnitArray)
+ jrh->SetDetector(0);
+ jrh->SetDebug(0);
+ jrh->SetFiducialEta(-0.9,0.9);
+ jrh->SetFiducialPhi(0,2*TMath::Pi());
+
+ // Define reader and set its header
+ AliJetESDReader *er = new AliJetESDReader();
+ er->SetReaderHeader(jrh);
+ er->SetTPCGrid(grid);
+ er->SetEMCalGrid(grid2);
+
+ // Define jet finder header
+ AliSISConeJetHeader * jh = new AliSISConeJetHeader();
+ //siscone parameters
+ jh->SetConeRadius(1.0); // cone radius
+ jh->SetOverlapThreshold(0.75); // overlap parameter, between 0 and 1 excluded!! 0.75 value is advised
+ jh->SetMinJetPt(20); // Ptmin of jets
+ //do you want to subtract BG (0 = no, 1 = yes)
+ jh->SetBGMode(0);
+ //to determine jets area (for BG subtraction)
+ jh->SetAreaTypeNumber(4); // from 1 to 4 : 1 = active_area, 2 = active_area_explicit_ghosts, 3 = one_ghost_passive_area, 4 = passive_area
+
+ // Define jet finder
+ AliSISConeJetFinder *jetFinder = new AliSISConeJetFinder();
+ jetFinder->SetJetHeader(jh);
+ jetFinder->SetJetReader(er);
+
+ return jetFinder;
+}
+
+
+
+
+
--- /dev/null
+AliJetFinder* ConfigJetAnalysis()
+{
+ //
+ // Configuration goes here
+ //
+ printf("ConfigJetAnalysis() \n");
+
+ // Define the grids
+ AliJetGrid *grid = new AliJetGrid(419,119,0.,2*TMath::Pi(),-0.9,0.9);
+ grid->SetGridType(1);
+ grid->InitParams(80.*TMath::Pi()/180,190.*TMath::Pi()/180,-0.7,0.7);
+ grid->SetMatrixIndexes();
+ grid->SetIndexIJ();
+ AliJetGrid *grid2 = new AliJetGrid(131,95,80.*TMath::Pi()/180.,190.*TMath::Pi()/180.,-0.7,0.7);
+ grid2->SetGridType(0);
+ grid2->SetMatrixIndexes();
+ grid2->SetIndexIJ();
+
+ // Define ESD reader header
+ AliJetESDReaderHeader *jrh = new AliJetESDReaderHeader();
+ jrh->SetComment("Testing");
+ jrh->SetPtCut(.0);
+ jrh->SetReadSignalOnly(kFALSE);
+ jrh->SetReadBkgdOnly(kFALSE);
+ // Detector options: 0 = Charged particles only (MomentumArray)
+ // 1 = Charged particles only (UnitArray)
+ // 2 = Neutral cells only (UnitArray)
+ // 3 = Charged particles + neutral cells (UnitArray)
+ jrh->SetDetector(0);
+ jrh->SetDebug(0);
+ jrh->SetFiducialEta(-0.9,0.9);
+ jrh->SetFiducialPhi(0,2*TMath::Pi());
+
+ // Define reader and set its header
+ AliJetESDReader *er = new AliJetESDReader();
+ er->SetReaderHeader(jrh);
+ er->SetTPCGrid(grid);
+ er->SetEMCalGrid(grid2);
+
+ // Define jet header
+ AliUA1JetHeaderV1 *jh=new AliUA1JetHeaderV1();
+ jh->SetComment("UA1 jet code with default parameters");
+ jh->BackgMode(0);
+ jh->SetRadius(1.0);
+ jh->SetEtSeed(2.);
+ jh->SetLegoNbinPhi(420.);
+ jh->SetLegoNbinEta(120.);
+ jh->SetLegoEtaMin(-0.9);
+ jh->SetLegoEtaMax(+0.9);
+ jh->SetMinJetEt(10.);
+
+ // Define jet finder. Set its header and reader
+ jetFinder = new AliUA1JetFinderV2();
+ jetFinder->SetJetHeader(jh);
+ jetFinder->SetJetReader(er);
+ jetFinder->SetPlotMode(kTRUE);
+
+ return jetFinder;
+}
--- /dev/null
+void JetAnalysisManagerLoc()
+{
+ 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("libfastjet.so");
+ gSystem->Load("libsiscone.so");
+ gSystem->Load("libSISConePlugin.so");
+ gSystem->Load("libJETAN.so");
+
+
+ if (gApplication) gApplication->InitializeGraphics();
+ //
+ // Create the chain
+ //
+ gROOT->LoadMacro("CreateESDChain.C");
+ TChain* chain = new TChain("esdTree");
+ chain->Add("~/alice/data/highpt/kPythia6Jets125_150/030/AliESDs.root");
+
+ ///////////////////////////////////////////////////////////////////////////////////
+ // Create the analysis manager
+ //
+ // Input
+ AliESDInputHandler* inpHandler = new AliESDInputHandler();
+ // Output
+ AliAODHandler* aodHandler = new AliAODHandler();
+ aodHandler->SetOutputFileName("aod.root");
+ // MC Truth
+ AliMCEventHandler* mcHandler = new AliMCEventHandler();
+
+
+ AliAnalysisManager *mgr = new AliAnalysisManager("Jet Manager", "Jet Manager");
+ mgr->SetInputEventHandler (inpHandler);
+ mgr->SetOutputEventHandler (aodHandler);
+ mgr->SetMCtruthEventHandler(mcHandler);
+ mgr->SetDebugLevel(10);
+ ///////////////////////////////////////////////////////////////////////////////////
+
+
+ //
+ // Set of cuts
+ //
+ // standard
+ 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->SetMinNsigmaToVertex(3);
+ esdTrackCutsL->SetRequireSigmaToVertex(kTRUE);
+ esdTrackCutsL->SetAcceptKingDaughters(kFALSE);
+ //
+ // hard
+ AliESDtrackCuts* esdTrackCutsH = new AliESDtrackCuts("AliESDtrackCuts", "Hard");
+ esdTrackCutsH->SetMinNClustersTPC(100);
+ esdTrackCutsH->SetMaxChi2PerClusterTPC(2.0);
+ esdTrackCutsH->SetMaxCovDiagonalElements(2,2,0.5,0.5,2);
+ esdTrackCutsH->SetRequireTPCRefit(kTRUE);
+ esdTrackCutsH->SetMinNsigmaToVertex(2);
+ esdTrackCutsH->SetRequireSigmaToVertex(kTRUE);
+ esdTrackCutsH->SetAcceptKingDaughters(kFALSE);
+ //
+ AliAnalysisFilter* trackFilter = new AliAnalysisFilter("trackFilter");
+ trackFilter->AddCuts(esdTrackCutsL);
+ trackFilter->AddCuts(esdTrackCutsH);
+ //
+ AliAnalysisTaskESDfilter *esdfilter = new AliAnalysisTaskESDfilter("ESD Filter");
+ esdfilter->SetTrackFilter(trackFilter);
+ esdfilter->SetDebugLevel(10);
+ mgr->AddTask(esdfilter);
+
+ //
+ // Jet analysis
+ //
+ // AliAnalysisTaskJets *jetana = new AliAnalysisTaskJetsV2("JetAnalysis"); // Charged only
+ AliAnalysisTaskJets *jetana = new AliAnalysisTaskJets("JetAnalysis",chain); // Charged + neutral
+ jetana->SetDebugLevel(10);
+
+ AliAnalysisTaskJets *jetanaMC = new AliAnalysisTaskJets("JetAnalysisMC");
+ jetanaMC->SetDebugLevel(10);
+ jetanaMC->SetConfigFile("ConfigJetAnalysisMC.C");
+ jetanaMC->SetNonStdBranch("jetsMC");
+ mgr->AddTask(jetanaMC);
+ mgr->AddTask(jetana);
+
+ //
+ // Create containers for input/output
+ AliAnalysisDataContainer *cinput1 = mgr->CreateContainer("cchain",TChain::Class(),
+ AliAnalysisManager::kInputContainer);
+
+ AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("tree", TTree::Class(),
+ AliAnalysisManager::kOutputContainer, "default");
+ AliAnalysisDataContainer *coutput2 = mgr->CreateContainer("histos", TList::Class(),
+ AliAnalysisManager::kOutputContainer, "histos.root");
+
+ AliAnalysisDataContainer *coutputMC2 = mgr->CreateContainer("histosMC", TList::Class(),
+ AliAnalysisManager::kOutputContainer, "histosMC.root");
+
+ mgr->ConnectInput (esdfilter, 0, cinput1 );
+ mgr->ConnectOutput (esdfilter, 0, coutput1 );
+
+ 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);
+}