File indexing completed on 2025-08-14 08:14:26
0001
0002
0003
0004
0005
0006
0007
0008 #include <fun4all/Fun4AllUtils.h>
0009 #include <GlobalVariables.C>
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019 #include <ffamodules/CDBInterface.h>
0020 #include <fun4all/Fun4AllDstInputManager.h>
0021 #include <fun4all/Fun4AllDstOutputManager.h>
0022 #include <fun4all/Fun4AllInputManager.h>
0023 #include <fun4all/Fun4AllOutputManager.h>
0024 #include <fun4all/Fun4AllRunNodeInputManager.h>
0025 #include <fun4all/Fun4AllServer.h>
0026
0027 #include <phool/recoConsts.h>
0028
0029
0030
0031 #include <laserclusterqa/laserQA.h>
0032
0033 #include <stdio.h>
0034 R__LOAD_LIBRARY(libfun4all.so)
0035 R__LOAD_LIBRARY(libffamodules.so)
0036 R__LOAD_LIBRARY(libtpc.so)
0037 R__LOAD_LIBRARY(libtpccalib.so)
0038 R__LOAD_LIBRARY(libLaserClusterQA.so)
0039 void Fun4All_laserQA(
0040 const int nEvents = 10,
0041 const std::string filelist = "/sphenix/lustre01/sphnxpro/commissioning/slurp/tpcbeam/run_00041900_00042000/",
0042 const std::string outdir = "/sphenig/tg/tg01/jets/bkimelman/",
0043 const std::string prod = "ana441_2024p007",
0044 const std::string type = "run2pp")
0045
0046 {
0047
0048 auto se = Fun4AllServer::instance();
0049 se->Verbosity(2);
0050
0051
0052
0053
0054
0055
0056 std::ifstream ifs(filelist);
0057 std::string filepath;
0058
0059 auto rc = recoConsts::instance();
0060
0061 Enable::CDB = true;
0062 rc->set_StringFlag("CDB_GLOBALTAG", "ProdA_2024");
0063
0064 int i=0;
0065 int runnumber = 0;
0066 int segment = 0;
0067 while(std::getline(ifs,filepath))
0068 {
0069 std::cout << "Adding DST with filepath: " << filepath << std::endl;
0070 if(i==0)
0071 {
0072 std::pair<int, int> runseg = Fun4AllUtils::GetRunSegment(filepath);
0073 runnumber = runseg.first;
0074 segment = runseg.second;
0075 rc->set_IntFlag("RUNNUMBER",runnumber);
0076 rc->set_uint64Flag("TIMESTAMP",runnumber);
0077 }
0078
0079
0080
0081
0082
0083
0084 i++;
0085 }
0086
0087 auto hitsin = new Fun4AllDstInputManager("InputManager");
0088 hitsin->AddListFile(filelist);
0089 se->registerInputManager(hitsin);
0090
0091
0092
0093
0094
0095
0096
0097
0098
0099
0100
0101
0102
0103
0104
0105
0106
0107
0108
0109
0110
0111
0112
0113
0114
0115
0116
0117
0118
0119
0120
0121
0122
0123
0124
0125 laserQA *lcQA = new laserQA("laserClusterQA");
0126 lcQA->setOutfile(Form("%s/laserHitQA_%s_%s-%08d.root",outdir.c_str(),type.c_str(),prod.c_str(),runnumber));
0127 se->registerSubsystem(lcQA);
0128
0129 se->run(nEvents);
0130
0131 se->End();
0132 se->PrintTimer();
0133
0134 delete se;
0135 std::cout << "Finished" << std::endl;
0136 gSystem->Exit(0);
0137 }