Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
HIJetReco.C
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file HIJetReco.C
1 #ifndef MACRO_HIJETRECO_C
2 #define MACRO_HIJETRECO_C
3 
4 #include <GlobalVariables.C>
5 
6 #include <jetbase/FastJetAlgo.h>
7 #include <jetbase/JetReco.h>
9 #include <g4jets/TruthJetInput.h>
10 
17 
18 #include <fun4all/Fun4AllServer.h>
19 
20 R__LOAD_LIBRARY(libjetbase.so)
21 R__LOAD_LIBRARY(libg4jets.so)
22 R__LOAD_LIBRARY(libjetbackground.so)
23 
24 namespace Enable
25 {
26  bool HIJETS = false;
27  int HIJETS_VERBOSITY = 0;
28  bool HIJETS_MC = true;
29  bool HIJETS_TRUTH = false;
30 } // namespace Enable
31 
32 namespace HIJETS
33 {
34  bool do_flow = false; // should be set to true once the EPD event plane correction is implemented
35  bool do_CS = false;
36 } // namespace HIJETS
37 
38 
39 void HIJetReco()
40 {
42 
43 
44  //---------------
45  // Fun4All server
46  //---------------
48 
50  {
51  JetReco *truthjetreco = new JetReco();
53  tji->add_embedding_flag(0); // changes depending on signal vs. embedded
54  truthjetreco->add_input(tji);
55  truthjetreco->add_algo(new FastJetAlgo(Jet::ANTIKT, 0.2), "AntiKt_Truth_r02");
56  truthjetreco->add_algo(new FastJetAlgo(Jet::ANTIKT, 0.3), "AntiKt_Truth_r03");
57  truthjetreco->add_algo(new FastJetAlgo(Jet::ANTIKT, 0.4), "AntiKt_Truth_r04");
58  truthjetreco->add_algo(new FastJetAlgo(Jet::ANTIKT, 0.5), "AntiKt_Truth_r05");
59  truthjetreco->set_algo_node("ANTIKT");
60  truthjetreco->set_input_node("TRUTH");
61  truthjetreco->Verbosity(verbosity);
62  se->registerSubsystem(truthjetreco);
63  }
64 
65  RetowerCEMC *rcemc = new RetowerCEMC();
66  rcemc->Verbosity(verbosity);
67  rcemc->set_towerinfo(true);
68  se->registerSubsystem(rcemc);
69 
70 
71  JetReco *towerjetreco = new JetReco();
73  towerjetreco->add_input(new TowerJetInput(Jet::HCALIN_TOWERINFO));
75  towerjetreco->add_algo(new FastJetAlgo(Jet::ANTIKT, 0.2), "AntiKt_TowerInfo_HIRecoSeedsRaw_r02");
76  towerjetreco->set_algo_node("ANTIKT");
77  towerjetreco->set_input_node("TOWER");
78  towerjetreco->Verbosity(verbosity);
79  se->registerSubsystem(towerjetreco);
80 
82  dtb->SetBackgroundOutputName("TowerInfoBackground_Sub1");
84  dtb->SetSeedType(0);
85  dtb->SetSeedJetD(3);
86  dtb->set_towerinfo(true);
87  dtb->Verbosity(verbosity);
88  se->registerSubsystem(dtb);
89 
90 
91 
94  casj->Verbosity(verbosity);
95  casj->set_towerinfo(true);
96  se->registerSubsystem(casj);
97 
98 
100  dtb2->SetBackgroundOutputName("TowerInfoBackground_Sub2");
101  dtb2->SetFlow(HIJETS::do_flow);
102  dtb2->SetSeedType(1);
103  dtb2->SetSeedJetPt(7);
104  dtb2->Verbosity(verbosity);
105  dtb2->set_towerinfo(true);
106  se->registerSubsystem(dtb2);
107 
108 
109  SubtractTowers *st = new SubtractTowers();
111  st->Verbosity(verbosity);
112  st->set_towerinfo(true);
113  se->registerSubsystem(st);
114 
115  towerjetreco = new JetReco();
119  towerjetreco->add_algo(new FastJetAlgoSub(Jet::ANTIKT, 0.2, 1), "AntiKt_Tower_r02_Sub1");
120  towerjetreco->add_algo(new FastJetAlgoSub(Jet::ANTIKT, 0.3, 1), "AntiKt_Tower_r03_Sub1");
121  towerjetreco->add_algo(new FastJetAlgoSub(Jet::ANTIKT, 0.4, 1), "AntiKt_Tower_r04_Sub1");
122  towerjetreco->add_algo(new FastJetAlgoSub(Jet::ANTIKT, 0.5, 1), "AntiKt_Tower_r05_Sub1");
123  towerjetreco->set_algo_node("ANTIKT");
124  towerjetreco->set_input_node("TOWER");
125  towerjetreco->Verbosity(verbosity);
126  se->registerSubsystem(towerjetreco);
127 
128  return;
129 
130 }
131 #endif