forked from ECCE-EIC/macros
-
Notifications
You must be signed in to change notification settings - Fork 0
/
G4_ParticleFlow.C
52 lines (41 loc) · 1.6 KB
/
G4_ParticleFlow.C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#ifndef MACRO_G4PARTICLEFLOW_C
#define MACRO_G4PARTICLEFLOW_C
#include <GlobalVariables.C>
#include <g4jets/FastJetAlgo.h>
#include <particleflowreco/ParticleFlowJetInput.h>
#include <particleflowreco/ParticleFlowReco.h>
#include <fun4all/Fun4AllServer.h>
R__LOAD_LIBRARY(libfun4all.so)
R__LOAD_LIBRARY(libg4jets.so)
R__LOAD_LIBRARY(libparticleflow.so)
namespace Enable
{
bool PARTICLEFLOW = false;
int PARTICLEFLOW_VERBOSITY = 0;
} // namespace Enable
void ParticleFlow()
{
int verbosity = max(Enable::VERBOSITY, Enable::PARTICLEFLOW_VERBOSITY);
//---------------
// Fun4All server
//---------------
Fun4AllServer *se = Fun4AllServer::instance();
// note: assumes topoCluster input already configured
ParticleFlowReco *pfr = new ParticleFlowReco();
pfr->set_energy_match_Nsigma(1.5);
pfr->set_emulated_efficiency(1.0);
pfr->Verbosity(verbosity);
se->registerSubsystem(pfr);
JetReco *particleflowjetreco = new JetReco("PARTICLEFLOWJETRECO");
particleflowjetreco->add_input(new ParticleFlowJetInput());
particleflowjetreco->add_algo(new FastJetAlgo(Jet::ANTIKT, 0.2), "AntiKt_ParticleFlow_r02");
particleflowjetreco->add_algo(new FastJetAlgo(Jet::ANTIKT, 0.3), "AntiKt_ParticleFlow_r03");
particleflowjetreco->add_algo(new FastJetAlgo(Jet::ANTIKT, 0.4), "AntiKt_ParticleFlow_r04");
particleflowjetreco->add_algo(new FastJetAlgo(Jet::ANTIKT, 0.3), "AntiKt_ParticleFlow_r03");
particleflowjetreco->set_algo_node("ANTIKT");
particleflowjetreco->set_input_node("PARTICLEFLOW");
particleflowjetreco->Verbosity(verbosity);
se->registerSubsystem(particleflowjetreco);
return;
}
#endif