Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-05 08:15:27

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 #include <fun4all/Fun4AllServer.h>
0011 #include <fun4all/Fun4AllUtils.h>
0012 
0013 #include <ffamodules/CDBInterface.h>
0014 #include <fun4all/Fun4AllUtils.h>
0015 #include <fun4all/Fun4AllRunNodeInputManager.h>
0016 
0017 #include <phool/PHRandomSeed.h>
0018 #include <phool/recoConsts.h>
0019 
0020 #include <g4centrality/PHG4CentralityReco.h>
0021 #include <caloreco/RawClusterBuilderTopo.h>
0022 
0023 //#include "HIJetReco.C"
0024 //#include "HIJetRecoOrig.C"
0025 #include "HIJetReco_nosub.C"
0026 #include <InclusiveJet.h>
0027 
0028 #include <g4mbd/MbdDigitization.h>
0029 #include <mbd/MbdReco.h>
0030 #include <globalvertex/GlobalVertexReco.h>
0031 
0032 #include <stdio.h>
0033 #include <string.h>
0034 
0035 #include <Calo_Calib.C>
0036 
0037 #include "mdctreemaker/MDCTreeMaker.h"
0038 
0039 #include <jetbase/FastJetAlgo.h>
0040 #include <jetbase/JetReco.h>
0041 #include <jetbase/TowerJetInput.h>
0042 #include <g4jets/TruthJetInput.h>
0043 #include <jetbase/ClusterJetInput.h>
0044 
0045 #include <jetbackground/CopyAndSubtractJets.h>
0046 #include <jetbackground/DetermineTowerBackground.h>
0047 #include <jetbackground/DetermineTowerRho.h>
0048 #include <jetbackground/FastJetAlgoSub.h>
0049 #include <jetbackground/RetowerCEMC.h>
0050 #include <jetbackground/SubtractTowers.h>
0051 #include <jetbackground/SubtractTowersCS.h>
0052 #include <jetbackground/TowerRho.h>
0053 
0054 #include <globalvertex/GlobalVertex.h>
0055 
0056 
0057 R__LOAD_LIBRARY(libfun4all.so)
0058 R__LOAD_LIBRARY(libg4jets.so)
0059 R__LOAD_LIBRARY(libjetbackground.so)
0060 R__LOAD_LIBRARY(libInclusiveJet.so)
0061 R__LOAD_LIBRARY(libg4centrality.so)
0062 R__LOAD_LIBRARY(libg4dst.so)
0063 R__LOAD_LIBRARY(libglobalvertex.so)
0064 R__LOAD_LIBRARY(libg4mbd.so)
0065 R__LOAD_LIBRARY(libmbd_io.so)
0066 R__LOAD_LIBRARY(libmbd.so)
0067 R__LOAD_LIBRARY(libmdctreemaker.so)
0068 
0069 #endif
0070 void Fun4All_InclusiveJet(int nEvents = 100, int seg = 0, int isSim = 0, const char *filelistcalo = "dst_calo_cluster.list", const char *type = "run22_jet10", const char *filelistjet = "dst_jet.list")
0071 {
0072   
0073   Fun4AllServer *se = Fun4AllServer::instance();
0074   int verbosity = 0;
0075 
0076   std::ifstream calolist;
0077   std::string caloline;
0078   std::ifstream jetlist;
0079   std::string jetline;
0080   std::string mcfilelistcalo;
0081   std::string filelisttruth;
0082   std::string filelistglobal;
0083   std::string filelisttruthparticle;
0084   std::string filelisttracks;
0085 
0086   int runnumber = 0;
0087   int segment = 0;
0088 
0089   if (!isSim) {
0090     calolist.open(filelistcalo);
0091     for (int i = 0; i < seg + 1; i++) 
0092     {
0093       getline(calolist, caloline);
0094     }
0095     //jetlist.open(filelistjet);
0096     //for (int i = 0; i < seg + 1; i++) 
0097     //{
0098     //  getline(jetlist, jetline);
0099     //}
0100     std::pair<int, int> runseg = Fun4AllUtils::GetRunSegment(caloline);
0101     runnumber = runseg.first;
0102     segment = runseg.second;
0103     //std::pair<int, int> jetrunseg = Fun4AllUtils::GetRunSegment(jetline);
0104     //if ((runseg.first != jetrunseg.first) || (runseg.second != jetrunseg.second)) {
0105     //  std::cout << "input files don't match. exiting now" << std::endl;
0106     //  return;
0107     //}
0108   } else {
0109     std::ostringstream sseg;
0110     sseg << std::setw(4) << std::setfill('0') << seg;
0111     std::cout << sseg.str() << std::endl;
0112     if (!strcmp(type,"run22_jet10")) {
0113       mcfilelistcalo = "/sphenix/user/egm2153/calib_study/analysis/UE_in_pp/macro/mc_list_files/run22_jet10_dst_calo_cluster_" + sseg.str() + ".list";
0114       filelisttruth = "/sphenix/user/egm2153/calib_study/analysis/UE_in_pp/macro/mc_list_files/run22_jet10_dst_truth_jet_" + sseg.str() + ".list";
0115       filelistglobal = "/sphenix/user/egm2153/calib_study/analysis/UE_in_pp/macro/mc_list_files/run22_jet10_dst_mbd_epd_" + sseg.str() + ".list"; 
0116       filelisttruthparticle = "/sphenix/user/egm2153/calib_study/analysis/UE_in_pp/macro/mc_list_files/run22_jet10_g4hits_" + sseg.str() + ".list";
0117     } else if (!strcmp(type,"run22_jet20")) {
0118       mcfilelistcalo = "/sphenix/user/egm2153/calib_study/analysis/UE_in_pp/macro/mc_list_files/run22_jet20_dst_calo_cluster_" + sseg.str() + ".list";
0119       filelisttruth = "/sphenix/user/egm2153/calib_study/analysis/UE_in_pp/macro/mc_list_files/run22_jet20_dst_truth_jet_" + sseg.str() + ".list";
0120       filelistglobal = "/sphenix/user/egm2153/calib_study/analysis/UE_in_pp/macro/mc_list_files/run22_jet20_dst_mbd_epd_" + sseg.str() + ".list"; 
0121       filelisttruthparticle = "/sphenix/user/egm2153/calib_study/analysis/UE_in_pp/macro/mc_list_files/run22_jet20_g4hits_" + sseg.str() + ".list";
0122     } else if (!strcmp(type,"run22_jet30")) {
0123       mcfilelistcalo = "/sphenix/user/egm2153/calib_study/analysis/UE_in_pp/macro/mc_list_files/run22_jet30_dst_calo_cluster_" + sseg.str() + ".list";
0124       filelisttruth = "/sphenix/user/egm2153/calib_study/analysis/UE_in_pp/macro/mc_list_files/run22_jet30_dst_truth_jet_" + sseg.str() + ".list";
0125       filelistglobal = "/sphenix/user/egm2153/calib_study/analysis/UE_in_pp/macro/mc_list_files/run22_jet30_dst_mbd_epd_" + sseg.str() + ".list"; 
0126       filelisttruthparticle = "/sphenix/user/egm2153/calib_study/analysis/UE_in_pp/macro/mc_list_files/run22_jet30_g4hits_" + sseg.str() + ".list";
0127     } else if (!strcmp(type,"run22_jet50")) {
0128       mcfilelistcalo = "/sphenix/user/egm2153/calib_study/analysis/UE_in_pp/macro/mc_list_files/run22_jet50_dst_calo_cluster_" + sseg.str() + ".list";
0129       filelisttruth = "/sphenix/user/egm2153/calib_study/analysis/UE_in_pp/macro/mc_list_files/run22_jet50_dst_truth_jet_" + sseg.str() + ".list";
0130       filelistglobal = "/sphenix/user/egm2153/calib_study/analysis/UE_in_pp/macro/mc_list_files/run22_jet50_dst_mbd_epd_" + sseg.str() + ".list"; 
0131       filelisttruthparticle = "/sphenix/user/egm2153/calib_study/analysis/UE_in_pp/macro/mc_list_files/run22_jet50_g4hits_" + sseg.str() + ".list";
0132     } else if (!strcmp(type,"run22_mb")) {
0133       mcfilelistcalo = "/sphenix/user/egm2153/calib_study/analysis/UE_in_pp/macro/mc_list_files/run22_mb_dst_calo_cluster_" + sseg.str() + ".list";
0134       filelisttruth = "/sphenix/user/egm2153/calib_study/analysis/UE_in_pp/macro/mc_list_files/run22_mb_dst_truth_jet_" + sseg.str() + ".list";
0135       filelistglobal = "/sphenix/user/egm2153/calib_study/analysis/UE_in_pp/macro/mc_list_files/run22_mb_dst_global_" + sseg.str() + ".list"; 
0136       filelisttruthparticle = "/sphenix/user/egm2153/calib_study/analysis/UE_in_pp/macro/mc_list_files/run22_mb_dst_truthinfo_" + sseg.str() + ".list";
0137       filelisttracks = "/sphenix/user/egm2153/calib_study/analysis/UE_in_pp/macro/mc_list_files/run22_mb_dst_tracks_" + sseg.str() + ".list";
0138     } else if (!strcmp(type,"run22_herwig_jet10")) {
0139       mcfilelistcalo = "/sphenix/user/egm2153/calib_study/analysis/UE_in_pp/macro/mc_list_files/run22_herwig_jet10_dst_calo_cluster_" + sseg.str() + ".list";
0140       filelisttruth = "/sphenix/user/egm2153/calib_study/analysis/UE_in_pp/macro/mc_list_files/run22_herwig_jet10_dst_truth_jet_" + sseg.str() + ".list";
0141       filelistglobal = "/sphenix/user/egm2153/calib_study/analysis/UE_in_pp/macro/mc_list_files/run22_herwig_jet10_dst_mbd_epd_" + sseg.str() + ".list"; 
0142       filelisttruthparticle = "/sphenix/user/egm2153/calib_study/analysis/UE_in_pp/macro/mc_list_files/run22_herwig_jet10_g4hits_" + sseg.str() + ".list";
0143     } else if (!strcmp(type,"run22_herwig_jet30")) {
0144       mcfilelistcalo = "/sphenix/user/egm2153/calib_study/analysis/UE_in_pp/macro/mc_list_files/run22_herwig_jet30_dst_calo_cluster_" + sseg.str() + ".list";
0145       filelisttruth = "/sphenix/user/egm2153/calib_study/analysis/UE_in_pp/macro/mc_list_files/run22_herwig_jet30_dst_truth_jet_" + sseg.str() + ".list";
0146       filelistglobal = "/sphenix/user/egm2153/calib_study/analysis/UE_in_pp/macro/mc_list_files/run22_herwig_jet30_dst_mbd_epd_" + sseg.str() + ".list"; 
0147       filelisttruthparticle = "/sphenix/user/egm2153/calib_study/analysis/UE_in_pp/macro/mc_list_files/run22_herwig_jet30_g4hits_" + sseg.str() + ".list";
0148     } else if (!strcmp(type,"run21_jet10")) {
0149       mcfilelistcalo = "/sphenix/user/egm2153/calib_study/analysis/UE_in_pp/macro/mc_list_files/run21_jet10_dst_calo_cluster_" + sseg.str() + ".list";
0150       filelisttruth = "/sphenix/user/egm2153/calib_study/analysis/UE_in_pp/macro/mc_list_files/run21_jet10_dst_truth_jet_" + sseg.str() + ".list";
0151       filelistglobal = "/sphenix/user/egm2153/calib_study/analysis/UE_in_pp/macro/mc_list_files/run21_jet10_dst_mbd_epd_" + sseg.str() + ".list"; 
0152       filelisttruthparticle = "/sphenix/user/egm2153/calib_study/analysis/UE_in_pp/macro/mc_list_files/run21_jet10_g4hits_" + sseg.str() + ".list";
0153     } else if (!strcmp(type,"run21_jet20")) {
0154       mcfilelistcalo = "/sphenix/user/egm2153/calib_study/analysis/UE_in_pp/macro/mc_list_files/run21_jet20_dst_calo_cluster_" + sseg.str() + ".list";
0155       filelisttruth = "/sphenix/user/egm2153/calib_study/analysis/UE_in_pp/macro/mc_list_files/run21_jet20_dst_truth_jet_" + sseg.str() + ".list";
0156       filelistglobal = "/sphenix/user/egm2153/calib_study/analysis/UE_in_pp/macro/mc_list_files/run21_jet20_dst_mbd_epd_" + sseg.str() + ".list"; 
0157       filelisttruthparticle = "/sphenix/user/egm2153/calib_study/analysis/UE_in_pp/macro/mc_list_files/run21_jet20_g4hits_" + sseg.str() + ".list";
0158     } else if (!strcmp(type,"run21_jet30")) {
0159       mcfilelistcalo = "/sphenix/user/egm2153/calib_study/analysis/UE_in_pp/macro/mc_list_files/run21_jet30_dst_calo_cluster_" + sseg.str() + ".list";
0160       filelisttruth = "/sphenix/user/egm2153/calib_study/analysis/UE_in_pp/macro/mc_list_files/run21_jet30_dst_truth_jet_" + sseg.str() + ".list";
0161       filelistglobal = "/sphenix/user/egm2153/calib_study/analysis/UE_in_pp/macro/mc_list_files/run21_jet30_dst_mbd_epd_" + sseg.str() + ".list"; 
0162       filelisttruthparticle = "/sphenix/user/egm2153/calib_study/analysis/UE_in_pp/macro/mc_list_files/run21_jet30_g4hits_" + sseg.str() + ".list";
0163     } else if (!strcmp(type,"run21_jet50")) {
0164       mcfilelistcalo = "/sphenix/user/egm2153/calib_study/analysis/UE_in_pp/macro/mc_list_files/run21_jet50_dst_calo_cluster_" + sseg.str() + ".list";
0165       filelisttruth = "/sphenix/user/egm2153/calib_study/analysis/UE_in_pp/macro/mc_list_files/run21_jet50_dst_truth_jet_" + sseg.str() + ".list";
0166       filelistglobal = "/sphenix/user/egm2153/calib_study/analysis/UE_in_pp/macro/mc_list_files/run21_jet50_dst_mbd_epd_" + sseg.str() + ".list"; 
0167       filelisttruthparticle = "/sphenix/user/egm2153/calib_study/analysis/UE_in_pp/macro/mc_list_files/run21_jet50_g4hits_" + sseg.str() + ".list";
0168     } else if (!strcmp(type,"run21_herwig_jet10")) {
0169       mcfilelistcalo = "/sphenix/user/egm2153/calib_study/analysis/UE_in_pp/macro/mc_list_files/run21_herwig_jet10_dst_calo_cluster_" + sseg.str() + ".list";
0170       filelisttruth = "/sphenix/user/egm2153/calib_study/analysis/UE_in_pp/macro/mc_list_files/run21_herwig_jet10_dst_truth_jet_" + sseg.str() + ".list";
0171       filelistglobal = "/sphenix/user/egm2153/calib_study/analysis/UE_in_pp/macro/mc_list_files/run21_herwig_jet10_dst_mbd_epd_" + sseg.str() + ".list"; 
0172       filelisttruthparticle = "/sphenix/user/egm2153/calib_study/analysis/UE_in_pp/macro/mc_list_files/run21_herwig_jet10_g4hits_" + sseg.str() + ".list";
0173     } else if (!strcmp(type,"run21_herwig_jet30")) {
0174       mcfilelistcalo = "/sphenix/user/egm2153/calib_study/analysis/UE_in_pp/macro/mc_list_files/run21_herwig_jet30_dst_calo_cluster_" + sseg.str() + ".list";
0175       filelisttruth = "/sphenix/user/egm2153/calib_study/analysis/UE_in_pp/macro/mc_list_files/run21_herwig_jet30_dst_truth_jet_" + sseg.str() + ".list";
0176       filelistglobal = "/sphenix/user/egm2153/calib_study/analysis/UE_in_pp/macro/mc_list_files/run21_herwig_jet30_dst_mbd_epd_" + sseg.str() + ".list"; 
0177       filelisttruthparticle = "/sphenix/user/egm2153/calib_study/analysis/UE_in_pp/macro/mc_list_files/run21_herwig_jet30_g4hits_" + sseg.str() + ".list";
0178     } else if (!strcmp(type,"run21_mb")) {
0179       mcfilelistcalo = "/sphenix/user/egm2153/calib_study/analysis/UE_in_pp/macro/mc_list_files/run21_mb_dst_calo_cluster_" + sseg.str() + ".list";
0180       filelisttruth = "/sphenix/user/egm2153/calib_study/analysis/UE_in_pp/macro/mc_list_files/run21_mb_dst_truth_jet_" + sseg.str() + ".list";
0181       filelistglobal = "/sphenix/user/egm2153/calib_study/analysis/UE_in_pp/macro/mc_list_files/run21_mb_dst_global_" + sseg.str() + ".list"; 
0182       filelisttruthparticle = "/sphenix/user/egm2153/calib_study/analysis/UE_in_pp/macro/mc_list_files/run21_mb_dst_truthinfo_" + sseg.str() + ".list";
0183     } else {
0184       std::cout << "unknown simulation dst type" << std::endl;
0185     }
0186   }
0187 
0188   std::string outfilename;
0189   if (!isSim) {
0190     if (!strcmp(type,"1.5mrad_calofitting")) {
0191       outfilename = "/sphenix/tg/tg01/jets/egm2153/UEinppOutput/output_1.5mrad_ana468_calofitting_jettrigeff_" + to_string(runnumber) + "_" + to_string(segment) + ".root";
0192     } else if (!strcmp(type,"1.5mrad")) {
0193       outfilename = "/sphenix/tg/tg01/jets/egm2153/UEinppOutput/output1.5mrad_ana468_" + to_string(runnumber) + "_" + to_string(segment) + ".root";
0194       } else if (!strcmp(type,"0mrad")) {
0195       outfilename = "/sphenix/tg/tg01/jets/egm2153/UEinppOutput/output_0mrad_ana468_" + to_string(runnumber) + "_" + to_string(segment) + ".root";
0196     } else {
0197       std::cout << "unknown data dst type" << std::endl;
0198     }
0199   } else {
0200     if (!strcmp(type,"run22_jet10")) {
0201       outfilename = "/sphenix/tg/tg01/jets/egm2153/UEinppOutput/sim_run22_jet10_3sigma_output_" + to_string(seg) + ".root";
0202       //outfilename = "/sphenix/tg/tg01/jets/egm2153/UEinppOutput/sim_run22_jet10_total_events_zvtx_lt_30_output_" + to_string(seg) + ".root";
0203     } else if (!strcmp(type, "run22_jet20")) {
0204       //outfilename = "/sphenix/tg/tg01/jets/egm2153/UEinppOutput/sim_run22_jet20_3sigma_output_" + to_string(seg) + ".root";
0205       outfilename = "/sphenix/tg/tg01/jets/egm2153/UEinppOutput/sim_run22_jet20_total_events_zvtx_lt_30_output_" + to_string(seg) + ".root";
0206     }  else if (!strcmp(type,"run22_jet30")) {
0207       outfilename = "/sphenix/tg/tg01/jets/egm2153/UEinppOutput/sim_run22_jet30_3sigma_output_" + to_string(seg) + ".root";
0208       //outfilename = "/sphenix/tg/tg01/jets/egm2153/UEinppOutput/sim_run22_jet30_total_events_zvtx_lt_30_output_" + to_string(seg) + ".root";
0209     } else if (!strcmp(type, "run22_jet50")) {
0210       outfilename = "/sphenix/tg/tg01/jets/egm2153/UEinppOutput/sim_run22_jet50_3sigma_output_" + to_string(seg) + ".root";
0211       //outfilename = "/sphenix/tg/tg01/jets/egm2153/UEinppOutput/sim_run22_jet50_total_events_zvtx_lt_30_output_" + to_string(seg) + ".root";
0212     } else if (!strcmp(type,"run22_mb")) { 
0213       outfilename = "/sphenix/tg/tg01/jets/egm2153/UEinppOutput/sim_run22_mb_3sigma_output_" + to_string(seg) + ".root";
0214       //outfilename = "/sphenix/tg/tg01/jets/egm2153/UEinppOutput/sim_run22_mb_total_events_zvtx_lt_30_output_" + to_string(seg) + ".root";
0215     } else if (!strcmp(type,"run22_herwig_jet10")) {
0216       outfilename = "/sphenix/tg/tg01/jets/egm2153/UEinppOutput/sim_run22_herwig_jet10_3sigma_output_" + to_string(seg) + ".root";
0217       //outfilename = "/sphenix/tg/tg01/jets/egm2153/UEinppOutput/sim_run22_herwig_jet10_total_events_zvtx_lt_30_output_" + to_string(seg) + ".root";
0218     } else if (!strcmp(type,"run22_herwig_jet30")) {
0219       //outfilename = "/sphenix/tg/tg01/jets/egm2153/UEinppOutput/sim_run22_herwig_jet30_3sigma_output_" + to_string(seg) + ".root";
0220       outfilename = "/sphenix/tg/tg01/jets/egm2153/UEinppOutput/sim_run22_herwig_jet30_total_events_zvtx_lt_30_output_" + to_string(seg) + ".root";
0221     } else if (!strcmp(type,"run21_jet10")) {
0222       //outfilename = "/sphenix/tg/tg01/jets/egm2153/UEinppOutput/sim_run21_jet10_3sigma_output_" + to_string(seg) + ".root";
0223       outfilename = "/sphenix/tg/tg01/jets/egm2153/UEinppOutput/sim_run21_jet10_total_events_zvtx_lt_30_output_" + to_string(seg) + ".root";
0224     } else if (!strcmp(type, "run21_jet20")) {
0225       //outfilename = "/sphenix/tg/tg01/jets/egm2153/UEinppOutput/sim_run21_jet20_3sigma_output_" + to_string(seg) + ".root";
0226       outfilename = "/sphenix/tg/tg01/jets/egm2153/UEinppOutput/sim_run21_jet20_total_events_zvtx_lt_30_output_" + to_string(seg) + ".root";
0227     }  else if (!strcmp(type,"run21_jet30")) {
0228       //outfilename = "/sphenix/tg/tg01/jets/egm2153/UEinppOutput/sim_run21_jet30_3sigma_output_" + to_string(seg) + ".root";
0229       outfilename = "/sphenix/tg/tg01/jets/egm2153/UEinppOutput/sim_run21_jet30_total_events_zvtx_lt_30_output_" + to_string(seg) + ".root";
0230     } else if (!strcmp(type, "run21_jet50")) {
0231       //outfilename = "/sphenix/tg/tg01/jets/egm2153/UEinppOutput/sim_run21_jet50_3sigma_output_" + to_string(seg) + ".root";
0232       outfilename = "/sphenix/tg/tg01/jets/egm2153/UEinppOutput/sim_run21_jet50_total_events_zvtx_lt_30_output_" + to_string(seg) + ".root";
0233     } else if (!strcmp(type,"run21_mb")) { 
0234       outfilename = "/sphenix/tg/tg01/jets/egm2153/UEinppOutput/sim_run21_mb_3sigma_output_" + to_string(seg) + ".root";
0235       //outfilename = "/sphenix/tg/tg01/jets/egm2153/UEinppOutput/sim_run21_mb_total_events_zvtx_lt_30_output_" + to_string(seg) + ".root";
0236     } else if (!strcmp(type,"run21_herwig_jet10")) {
0237       //outfilename = "/sphenix/tg/tg01/jets/egm2153/UEinppOutput/sim_run21_herwig_jet10_3sigma_output_" + to_string(seg) + ".root";
0238       outfilename = "/sphenix/tg/tg01/jets/egm2153/UEinppOutput/sim_run21_herwig_jet10_total_events_zvtx_lt_30_output_" + to_string(seg) + ".root";
0239     } else if (!strcmp(type,"run21_herwig_jet30")) {
0240       //outfilename = "/sphenix/tg/tg01/jets/egm2153/UEinppOutput/sim_run21_herwig_jet30_3sigma_output_" + to_string(seg) + ".root";
0241       outfilename = "/sphenix/tg/tg01/jets/egm2153/UEinppOutput/sim_run21_herwig_jet30_total_events_zvtx_lt_30_output_" + to_string(seg) + ".root";
0242     } else if (!strcmp(type,"run21_mb")) { 
0243       outfilename = "/sphenix/tg/tg01/jets/egm2153/UEinppOutput/sim_run21_mb_output_" + to_string(seg) + ".root";
0244     }
0245      else {
0246       std::cout << "unknown simulation dst type" << std::endl;
0247     }
0248   }
0249   
0250   se->Verbosity(verbosity);
0251   recoConsts *rc = recoConsts::instance();
0252   if (!isSim) {
0253     rc->set_StringFlag("CDB_GLOBALTAG", "ProdA_2024");
0254     rc->set_uint64Flag("TIMESTAMP", runnumber);
0255   } else {
0256     rc->set_StringFlag("CDB_GLOBALTAG", "MDC2");
0257     rc->set_uint64Flag("TIMESTAMP", 21);
0258   }
0259     CDBInterface::instance()->Verbosity(1);
0260     
0261   MbdReco *mbdreco = new MbdReco();
0262   se->registerSubsystem(mbdreco);
0263 
0264   GlobalVertexReco *gvertex = new GlobalVertexReco();
0265   se->registerSubsystem(gvertex);
0266 
0267   Process_Calo_Calib();
0268 
0269   RawClusterBuilderTopo* ClusterBuilder = new RawClusterBuilderTopo("HcalRawClusterBuilderTopo");
0270   ClusterBuilder->Verbosity(verbosity);
0271   ClusterBuilder->set_nodename("TOPOCLUSTER_ALLCALO");
0272   ClusterBuilder->set_enable_HCal(true);
0273   ClusterBuilder->set_enable_EMCal(true);
0274   ClusterBuilder->set_noise(0.0053, 0.0351, 0.0684); // 3sigma of pedestal noise
0275   ClusterBuilder->set_significance(4.0, 2.0, 1.0);
0276   ClusterBuilder->allow_corner_neighbor(true);
0277   ClusterBuilder->set_do_split(true);
0278   ClusterBuilder->set_minE_local_max(1.0, 2.0, 0.5);
0279   ClusterBuilder->set_R_shower(0.025);
0280   ClusterBuilder->set_use_only_good_towers(true);
0281   ClusterBuilder->set_absE(true);
0282   se->registerSubsystem(ClusterBuilder);
0283   
0284   Enable::VERBOSITY = verbosity;
0285   HIJetReco();
0286   
0287   InclusiveJet *myJetVal = new InclusiveJet("AntiKt_Tower_r04", "AntiKt_Truth_r04", outfilename.c_str());
0288   myJetVal->doJetTriggerCut(false);
0289   myJetVal->doJetLeadPtCut(false);
0290   myJetVal->setLeadPtCut(5.0);
0291   myJetVal->setPtRange(2, 100);
0292   myJetVal->setEtaRange(-0.7, 0.7);
0293   if (isSim) myJetVal->doTruth(1);
0294   myJetVal->doSeeds(0);
0295   myJetVal->doTowers(0);
0296   if (isSim) myJetVal->doTruthParticles(0);
0297   myJetVal->doTracks(0);
0298   myJetVal->doTopoclusters(0);
0299   myJetVal->doEmcalClusters(0);
0300   se->registerSubsystem(myJetVal);
0301 
0302   //MDCTreeMaker *tt = new MDCTreeMaker("MDCTreeMaker", outfilename, isSim, 1, 0);
0303   //tt->set_useMBD(true); 
0304   //tt->set_useEMCal(false);
0305   //tt->set_useHCal(false);
0306   //se->registerSubsystem( tt ); 
0307 
0308   if (!isSim) {
0309     Fun4AllInputManager *in2 = new Fun4AllDstInputManager("DSTcalo");
0310     in2->AddListFile(caloline,1);
0311     se->registerInputManager(in2);
0312 
0313     //Fun4AllInputManager *in3 = new Fun4AllDstInputManager("DSTjet");
0314     //in3->AddListFile(jetline,1);
0315     //se->registerInputManager(in3);
0316 
0317     Fun4AllInputManager *intrue2 = new Fun4AllRunNodeInputManager("DST_GEO");
0318     std::string geoLocation = CDBInterface::instance()->getUrl("calo_geo");
0319     intrue2->AddFile(geoLocation);
0320     se->registerInputManager(intrue2);
0321 
0322   } else {
0323     Fun4AllInputManager *in2 = new Fun4AllDstInputManager("DSTcalo");
0324     in2->AddListFile(mcfilelistcalo,1);
0325     se->registerInputManager(in2);
0326 
0327     Fun4AllInputManager *intrue = new Fun4AllDstInputManager("DSTtruth");
0328     intrue->AddListFile(filelisttruth,1);
0329     if (strcmp(type, "run21_herwig_jet10") && strcmp(type, "run21_herwig_jet30")) se->registerInputManager(intrue);
0330 
0331     Fun4AllInputManager *in3 = new Fun4AllDstInputManager("DSTglobal");
0332     in3->AddListFile(filelistglobal,1);
0333     se->registerInputManager(in3);
0334 
0335     Fun4AllInputManager *in4 = new Fun4AllDstInputManager("DSTtruthparticle");
0336     in4->AddListFile(filelisttruthparticle,1);
0337     se->registerInputManager(in4);
0338 
0339     if(!strcmp(type,"run22_mb")) {
0340       Fun4AllInputManager *in5 = new Fun4AllDstInputManager("DSTtracks");
0341       in5->AddListFile(filelisttracks,1);
0342       se->registerInputManager(in5);
0343     }
0344 
0345     Fun4AllInputManager *intrue2 = new Fun4AllRunNodeInputManager("DST_GEO");
0346     std::string geoLocation = CDBInterface::instance()->getUrl("calo_geo");
0347     intrue2->AddFile(geoLocation);
0348     se->registerInputManager(intrue2);
0349 
0350   }
0351   
0352   se->run(nEvents);
0353   se->End();
0354   CDBInterface::instance()->Print();  // print used DB files
0355   gSystem->Exit(0);
0356   return;
0357 
0358 }