Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Fun4All_JetSub.C
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file Fun4All_JetSub.C
1 #pragma once
2 #if ROOT_VERSION_CODE >= ROOT_VERSION(6,00,0)
3 #include <fun4all/SubsysReco.h>
7 
10 
11 #include <phool/PHRandomSeed.h>
12 #include <phool/recoConsts.h>
13 
15 
16 #include <HIJetReco.C>
17 
18 #include <jetmultsub/JetMultSub.h>
19 
20 R__LOAD_LIBRARY(libfun4all.so)
21 R__LOAD_LIBRARY(libg4jets.so)
22 R__LOAD_LIBRARY(libjetbackground.so)
23 R__LOAD_LIBRARY(libJetTree.so)
24 R__LOAD_LIBRARY(libg4centrality.so)
25 R__LOAD_LIBRARY(libJetMultSub.so)
26 
27 
28 #endif
29 
30 
31 void Fun4All_JetSub(const char *filelisttruth = "dst_truth_jet.list",
32  const char *filelistcalo = "dst_calo_cluster.list",
33  const char *filelistglobal = "dst_global.list")
34 {
35 
36 
38  int verbosity = 0;
39 
40  se->Verbosity(verbosity);
42 
44  cent->Verbosity(0);
45  cent->GetCalibrationParameters().ReadFromFile("centrality", "xml", 0, 0, string(getenv("CALIBRATIONROOT")) + string("/Centrality/"));
46  se->registerSubsystem( cent );
47 
48  //-----------------------------------
49  // Jet reco
50  //-----------------------------------
51 
52  // kT jets (for mulitplicity rhos)
53  JetReco *ktjetreco = new JetReco();
55  ktjetreco->add_input(new TowerJetInput(Jet::HCALIN_TOWER));
57  ktjetreco->add_algo(new FastJetAlgo(Jet::KT, 0.4), "Kt_Tower_r04");
58  ktjetreco->set_algo_node("KT");
59  ktjetreco->set_input_node("TOWER");
60  ktjetreco->Verbosity(verbosity);
61  se->registerSubsystem(ktjetreco);
62 
63  // // tower jets
64  JetReco *towerjetreco = new JetReco();
66  towerjetreco->add_input(new TowerJetInput(Jet::HCALIN_TOWER));
67  towerjetreco->add_input(new TowerJetInput(Jet::HCALOUT_TOWER));
68  towerjetreco->add_algo(new FastJetAlgo(Jet::ANTIKT, 0.4), "AntiKt_Tower_r04");
69  towerjetreco->set_algo_node("ANTIKT");
70  towerjetreco->set_input_node("TOWER");
71  towerjetreco->Verbosity(verbosity);
72  se->registerSubsystem(towerjetreco);
73 
74 
75  JetMultSub *jetmultsub = new JetMultSub();
76  jetmultsub->add_reco_input("AntiKt_Tower_r04");
77  jetmultsub->add_kt_input("Kt_Tower_r04");
78  jetmultsub->set_output_name("AntiKt_Tower_r04_sub");
79  jetmultsub->setEtaRange(-1.0, 1.0);
80  jetmultsub->setPtRange(0.5,100);
81  se->registerSubsystem(jetmultsub);
82 
83  Fun4AllInputManager *intrue = new Fun4AllDstInputManager("DSTtruth");
84  intrue->AddListFile(filelisttruth,1);
85  se->registerInputManager(intrue);
86 
87  Fun4AllInputManager *in2 = new Fun4AllDstInputManager("DSTcalo");
88  in2->AddListFile(filelistcalo,1);
89  se->registerInputManager(in2);
90 
91  Fun4AllInputManager *in3 = new Fun4AllDstInputManager("DSTglobal");
92  in3->AddListFile(filelistglobal,1);
93  se->registerInputManager(in3);
94 
95  se->run(-1);
96  se->End();
97 
98  gSystem->Exit(0);
99  return 0;
100 
101 }