File indexing completed on 2025-08-05 08:13:17
0001 #pragma once
0002 #if ROOT_VERSION_CODE >= ROOT_VERSION(6,00,0)
0003 #include <fun4all/SubsysReco.h>
0004 #include <fun4all/Fun4AllServer.h>
0005 #include <fun4all/Fun4AllInputManager.h>
0006 #include <fun4all/Fun4AllDstInputManager.h>
0007
0008 #include <fun4all/Fun4AllDstOutputManager.h>
0009 #include <fun4all/Fun4AllOutputManager.h>
0010
0011 #include <phool/PHRandomSeed.h>
0012 #include <phool/recoConsts.h>
0013
0014 #include <g4centrality/PHG4CentralityReco.h>
0015
0016 #include <HIJetReco.C>
0017
0018 #include <jetmultsub/JetMultSub.h>
0019
0020 R__LOAD_LIBRARY(libfun4all.so)
0021 R__LOAD_LIBRARY(libg4jets.so)
0022 R__LOAD_LIBRARY(libjetbackground.so)
0023 R__LOAD_LIBRARY(libJetTree.so)
0024 R__LOAD_LIBRARY(libg4centrality.so)
0025 R__LOAD_LIBRARY(libJetMultSub.so)
0026
0027
0028 #endif
0029
0030
0031 void Fun4All_JetSub(const char *filelisttruth = "dst_truth_jet.list",
0032 const char *filelistcalo = "dst_calo_cluster.list",
0033 const char *filelistglobal = "dst_global.list")
0034 {
0035
0036
0037 Fun4AllServer *se = Fun4AllServer::instance();
0038 int verbosity = 0;
0039
0040 se->Verbosity(verbosity);
0041 recoConsts *rc = recoConsts::instance();
0042
0043 PHG4CentralityReco *cent = new PHG4CentralityReco();
0044 cent->Verbosity(0);
0045 cent->GetCalibrationParameters().ReadFromFile("centrality", "xml", 0, 0, string(getenv("CALIBRATIONROOT")) + string("/Centrality/"));
0046 se->registerSubsystem( cent );
0047
0048
0049
0050
0051
0052
0053 JetReco *ktjetreco = new JetReco();
0054 ktjetreco->add_input(new TowerJetInput(Jet::CEMC_TOWER_RETOWER));
0055 ktjetreco->add_input(new TowerJetInput(Jet::HCALIN_TOWER));
0056 ktjetreco->add_input(new TowerJetInput(Jet::HCALOUT_TOWER));
0057 ktjetreco->add_algo(new FastJetAlgo(Jet::KT, 0.4), "Kt_Tower_r04");
0058 ktjetreco->set_algo_node("KT");
0059 ktjetreco->set_input_node("TOWER");
0060 ktjetreco->Verbosity(verbosity);
0061 se->registerSubsystem(ktjetreco);
0062
0063
0064 JetReco *towerjetreco = new JetReco();
0065 towerjetreco->add_input(new TowerJetInput(Jet::CEMC_TOWER_RETOWER));
0066 towerjetreco->add_input(new TowerJetInput(Jet::HCALIN_TOWER));
0067 towerjetreco->add_input(new TowerJetInput(Jet::HCALOUT_TOWER));
0068 towerjetreco->add_algo(new FastJetAlgo(Jet::ANTIKT, 0.4), "AntiKt_Tower_r04");
0069 towerjetreco->set_algo_node("ANTIKT");
0070 towerjetreco->set_input_node("TOWER");
0071 towerjetreco->Verbosity(verbosity);
0072 se->registerSubsystem(towerjetreco);
0073
0074
0075 JetMultSub *jetmultsub = new JetMultSub();
0076 jetmultsub->add_reco_input("AntiKt_Tower_r04");
0077 jetmultsub->add_kt_input("Kt_Tower_r04");
0078 jetmultsub->set_output_name("AntiKt_Tower_r04_sub");
0079 jetmultsub->setEtaRange(-1.0, 1.0);
0080 jetmultsub->setPtRange(0.5,100);
0081 se->registerSubsystem(jetmultsub);
0082
0083 Fun4AllInputManager *intrue = new Fun4AllDstInputManager("DSTtruth");
0084 intrue->AddListFile(filelisttruth,1);
0085 se->registerInputManager(intrue);
0086
0087 Fun4AllInputManager *in2 = new Fun4AllDstInputManager("DSTcalo");
0088 in2->AddListFile(filelistcalo,1);
0089 se->registerInputManager(in2);
0090
0091 Fun4AllInputManager *in3 = new Fun4AllDstInputManager("DSTglobal");
0092 in3->AddListFile(filelistglobal,1);
0093 se->registerInputManager(in3);
0094
0095 se->run(-1);
0096 se->End();
0097
0098 gSystem->Exit(0);
0099 return 0;
0100
0101 }