File indexing completed on 2026-04-07 08:08:32
0001 #include <anneutral/AnNeutralMeson_micro_dst.h>
0002 #include <fun4all/Fun4AllServer.h>
0003 #include <fun4all/Fun4AllRunNodeInputManager.h>
0004 #include <fun4all/Fun4AllDstInputManager.h>
0005 #include <ffamodules/CDBInterface.h>
0006 #include <phool/recoConsts.h>
0007
0008 R__LOAD_LIBRARY(libffamodules.so)
0009 R__LOAD_LIBRARY(libfun4all.so)
0010 R__LOAD_LIBRARY(libanneutral.so)
0011
0012 void micro_DST_analysis(const int runnumber = 47289, const int nevents = 0)
0013 {
0014
0015
0016 std::string inputfilename = "/sphenix/tg/tg01/coldqcd/vmahaut/AnNeutralMeson/analysis_run2pp_ana509_2024p022_v001_calib01072025/micro_DSTs/merged_DSTs/DST_PHOTON_MICRO_ANNEUTRALMESON_run2pp_ana509_2024p022_v001-000" + std::to_string(runnumber) + ".root";
0017
0018
0019 std::string inputemulatorname = "/sphenix/tg/tg01/coldqcd/vmahaut/AnNeutralMeson/analysis_run2pp_ana502_nocdbtag_v001/trig_emulator_DSTs/merged_DSTs/DST_TRIGGER_EMULATOR_run2pp_ana502_nocdbtag_v001-000" + std::to_string(runnumber) + ".root";
0020
0021 std::string outputfilename = "/sphenix/user/virgilemahaut/analysis/AnNeutralMeson/macros/new_micro_DST_analysis/analysis_per_run_allruns/analysis_" + std::to_string(runnumber) + ".root";
0022 std::string outputfiletreename = "/sphenix/user/virgilemahaut/analysis/AnNeutralMeson/macros/new_micro_DST_analysis/analysis_per_run_allruns/diphoton_minimal_" + std::to_string(runnumber) + ".root";
0023
0024
0025
0026 Fun4AllServer *se = Fun4AllServer::instance();
0027 se->Verbosity(0);
0028
0029 recoConsts *rc = recoConsts::instance();
0030 rc->set_StringFlag("CDB_GLOBALTAG", "ProdA_2024");
0031 rc->set_uint64Flag("TIMESTAMP", runnumber);
0032 rc->set_IntFlag("RUNNUMBER", runnumber);
0033
0034 Fun4AllInputManager *ingeo = new Fun4AllRunNodeInputManager("DST_GEO");
0035 std::string geoLocation = CDBInterface::instance()->getUrl("calo_geo");
0036 ingeo->AddFile(geoLocation);
0037 se->registerInputManager(ingeo);
0038
0039 Fun4AllInputManager *in = new Fun4AllDstInputManager("DST_MICRO");
0040 in->fileopen(inputfilename);
0041 se->registerInputManager(in);
0042
0043 Fun4AllInputManager *in_emulator = new Fun4AllDstInputManager("DST_EMULATOR");
0044 in_emulator->fileopen(inputemulatorname);
0045 se->registerInputManager(in_emulator);
0046
0047 AnNeutralMeson_micro_dst *AN = new AnNeutralMeson_micro_dst("AnNeutralMeson_micro_dst", runnumber, outputfilename, outputfiletreename);
0048 AN->set_store_tree(false);
0049 std::vector<float> chi2_cuts = {1000};
0050
0051 std::vector<float> ecore_cuts = {1.0};
0052
0053 float alpha_cut = 0.7;
0054 float pT_cut = 1.0;
0055 AN->set_chi2cut(chi2_cuts);
0056 AN->set_ecorecut(ecore_cuts);
0057 AN->set_alphacut(alpha_cut);
0058 AN->set_ptcut(pT_cut);
0059 AN->set_mbd_trigger_bit_requirement(false);
0060 AN->set_photon_trigger_bit_requirement(true);
0061 AN->set_photon_trigger_efficiency_matching_requirement(true);
0062 AN->set_photon_trigger_efficiency_threshold(90);
0063 AN->set_photon_trigger_emulator_matching_requirement(true);
0064 AN->set_event_mixing(false);
0065 se->registerSubsystem(AN);
0066
0067 se->run(nevents);
0068 se->End();
0069 se->PrintTimer();
0070 delete se;
0071
0072 gSystem->Exit(0);
0073 }