Back to home page

sPhenix code displayed by LXR

 
 

    


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   // Jet reco
0050   //-----------------------------------
0051 
0052   // kT jets (for mulitplicity rhos)
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   // // tower jets
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 }