File indexing completed on 2025-08-05 08:12:20
0001 #include <caloreco/RawClusterPositionCorrection.h>
0002
0003 #include <ffamodules/FlagHandler.h>
0004 #include <ffamodules/HeadReco.h>
0005 #include <ffamodules/SyncReco.h>
0006
0007 #include <fun4allraw/Fun4AllPrdfInputManager.h>
0008
0009 #include <fun4all/Fun4AllDstInputManager.h>
0010 #include <fun4all/Fun4AllDstOutputManager.h>
0011 #include <fun4all/Fun4AllInputManager.h>
0012 #include <fun4all/Fun4AllRunNodeInputManager.h>
0013 #include <fun4all/Fun4AllServer.h>
0014 #include <fun4all/Fun4AllUtils.h>
0015 #include <fun4all/SubsysReco.h>
0016
0017 #include <phool/recoConsts.h>
0018
0019 #include <ffamodules/CDBInterface.h>
0020 #include <GlobalVariables.C>
0021
0022
0023 R__LOAD_LIBRARY(libcdbobjects)
0024
0025 R__LOAD_LIBRARY(libfun4all.so)
0026 R__LOAD_LIBRARY(libfun4allraw.so)
0027 R__LOAD_LIBRARY(libcalo_reco.so)
0028 R__LOAD_LIBRARY(libffamodules.so)
0029
0030 #include <caloana/CaloAna.h>
0031 R__LOAD_LIBRARY(libcaloana.so)
0032
0033 void Fun4All_EMCal_sp(int nevents = 50000, const std::string &fname = "inputdata_sp.txt",const std::string &fnamehits = "g4hits.list")
0034 {
0035
0036 Fun4AllServer *se = Fun4AllServer::instance();
0037 se->Verbosity(0);
0038
0039
0040 recoConsts *rc = recoConsts::instance();
0041
0042 ifstream file(fname);
0043 string first_file;
0044 getline(file, first_file);
0045
0046
0047
0048
0049 pair<int, int> runseg = Fun4AllUtils::GetRunSegment(first_file);
0050 int runnumber = runseg.first;
0051 cout << "run number = " << runnumber << endl;
0052
0053
0054 rc->set_StringFlag("CDB_GLOBALTAG", "MDC2");
0055
0056 rc->set_uint64Flag("TIMESTAMP", runnumber);
0057
0058 Fun4AllInputManager *in = new Fun4AllDstInputManager("DST_TOWERS");
0059 in->AddListFile(fname);
0060 se->registerInputManager(in);
0061
0062 Fun4AllInputManager *in2 = new Fun4AllDstInputManager("DST_TOWERS2");
0063 in2->AddListFile(fnamehits);
0064 se->registerInputManager(in2);
0065
0066 std::string filename = first_file.substr(first_file.find_last_of("/\\") + 1);
0067 std::string OutFile = Form("OUTHIST_iter_%s",filename.c_str());
0068
0069
0070
0071
0072
0073
0074
0075
0076
0077 CaloAna *ca = new CaloAna("calomodulename", OutFile);
0078 ca->set_timing_cut_width(16);
0079 ca->apply_vertex_cut(false);
0080 ca->set_vertex_cut(20.);
0081 se->registerSubsystem(ca);
0082
0083 se->run(nevents);
0084 se->End();
0085 se->PrintTimer();
0086 delete se;
0087
0088 TFile* f_done_signal = new TFile("DONE.root","recreate");
0089 std::cout << "All done!" << std::endl;
0090 gSystem->Exit(0);
0091
0092 }
0093