]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
Configuration files for charged + EMCAL reconstruction.
authormorsch <morsch@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 15 May 2009 11:35:01 +0000 (11:35 +0000)
committermorsch <morsch@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 15 May 2009 11:35:01 +0000 (11:35 +0000)
JETAN/ConfigJetAnalysisSISCone.C [new file with mode: 0644]
JETAN/ConfigJetAnalysisUA1.C [new file with mode: 0644]
JETAN/JetAnalysisManagerNeutralsLoc.C [new file with mode: 0644]

diff --git a/JETAN/ConfigJetAnalysisSISCone.C b/JETAN/ConfigJetAnalysisSISCone.C
new file mode 100644 (file)
index 0000000..8fd7db4
--- /dev/null
@@ -0,0 +1,59 @@
+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;
+}
+
+
+
+
+
diff --git a/JETAN/ConfigJetAnalysisUA1.C b/JETAN/ConfigJetAnalysisUA1.C
new file mode 100644 (file)
index 0000000..f7d7fa2
--- /dev/null
@@ -0,0 +1,59 @@
+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;
+}
diff --git a/JETAN/JetAnalysisManagerNeutralsLoc.C b/JETAN/JetAnalysisManagerNeutralsLoc.C
new file mode 100644 (file)
index 0000000..c386031
--- /dev/null
@@ -0,0 +1,123 @@
+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);
+}