File indexing completed on 2025-08-03 08:20:29
0001 #include <GlobalVariables.C>
0002 #include <Trkr_TpcReadoutInit.C>
0003 #include <fun4all/Fun4AllUtils.h>
0004 #include <fun4all/Fun4AllServer.h>
0005 #include <fun4all/Fun4AllInputManager.h>
0006 #include <fun4all/Fun4AllOutputManager.h>
0007 #include <fun4all/Fun4AllDstOutputManager.h>
0008 #include <fun4all/Fun4AllOutputManager.h>
0009 #include <fun4all/Fun4AllDstOutputManager.h>
0010
0011 #include <fun4allraw/Fun4AllStreamingInputManager.h>
0012 #include <fun4allraw/InputManagerType.h>
0013 #include <fun4allraw/SingleTpcPoolInput.h>
0014
0015 #include <phool/recoConsts.h>
0016
0017 #include <ffarawmodules/TpcCheck.h>
0018 #include <string>
0019 #include <fstream>
0020 #include <iostream>
0021
0022 R__LOAD_LIBRARY(libfun4all.so)
0023 R__LOAD_LIBRARY(libfun4allraw.so)
0024 R__LOAD_LIBRARY(libffarawmodules.so)
0025
0026 void Fun4All_Tpc_Combiner(int nEvents = 0,
0027 const string &input_file00 = "tpc00.list",
0028 const string &input_file01 = "tpc01.list",
0029 const string &input_file02 = "tpc02.list",
0030 const string &input_file03 = "tpc03.list",
0031 const string &input_file04 = "tpc04.list",
0032 const string &input_file05 = "tpc05.list",
0033 const string &input_file06 = "tpc06.list",
0034 const string &input_file07 = "tpc07.list",
0035 const string &input_file08 = "tpc08.list",
0036 const string &input_file09 = "tpc09.list",
0037 const string &input_file10 = "tpc10.list",
0038 const string &input_file11 = "tpc11.list",
0039 const string &input_file12 = "tpc12.list",
0040 const string &input_file13 = "tpc13.list",
0041 const string &input_file14 = "tpc14.list",
0042 const string &input_file15 = "tpc15.list",
0043 const string &input_file16 = "tpc16.list",
0044 const string &input_file17 = "tpc17.list",
0045 const string &input_file18 = "tpc18.list",
0046 const string &input_file19 = "tpc19.list",
0047 const string &input_file20 = "tpc20.list",
0048 const string &input_file21 = "tpc21.list",
0049 const string &input_file22 = "tpc22.list",
0050 const string &input_file23 = "tpc23.list"
0051 )
0052 {
0053 vector<string> infile;
0054 infile.push_back(input_file00);
0055 infile.push_back(input_file01);
0056 infile.push_back(input_file02);
0057 infile.push_back(input_file03);
0058 infile.push_back(input_file04);
0059 infile.push_back(input_file05);
0060 infile.push_back(input_file06);
0061 infile.push_back(input_file07);
0062 infile.push_back(input_file08);
0063 infile.push_back(input_file09);
0064 infile.push_back(input_file10);
0065 infile.push_back(input_file11);
0066 infile.push_back(input_file12);
0067 infile.push_back(input_file13);
0068 infile.push_back(input_file14);
0069 infile.push_back(input_file15);
0070 infile.push_back(input_file16);
0071 infile.push_back(input_file17);
0072 infile.push_back(input_file18);
0073 infile.push_back(input_file19);
0074 infile.push_back(input_file20);
0075 infile.push_back(input_file21);
0076 infile.push_back(input_file22);
0077 infile.push_back(input_file23);
0078
0079 std::ifstream infile_stream;
0080 infile_stream.open(input_file00, std::ios_base::in);
0081 std::string filepath;
0082 getline(infile_stream, filepath);
0083 std::pair<int, int> runseg = Fun4AllUtils::GetRunSegment(filepath);
0084 int runnumber = runseg.first;
0085 int segment = runseg.second;
0086
0087
0088 TpcReadoutInit( runnumber );
0089 std::cout<< " run: " << runnumber
0090 << " samples: " << TRACKING::reco_tpc_maxtime_sample
0091 << " pre: " << TRACKING::reco_tpc_time_presample
0092 << " vdrift: " << G4TPC::tpc_drift_velocity_reco
0093 << std::endl;
0094
0095 Fun4AllServer *se = Fun4AllServer::instance();
0096 se->Verbosity(1);
0097 recoConsts *rc = recoConsts::instance();
0098
0099 Fun4AllStreamingInputManager *in = new Fun4AllStreamingInputManager("Comb");
0100
0101 int i=0;
0102 for (auto iter : infile)
0103 {
0104 SingleTpcPoolInput *sngl= new SingleTpcPoolInput("TPC_" + to_string(i));
0105
0106 sngl->SetBcoRange(130);
0107 sngl->AddListFile(iter);
0108 sngl->SetMaxTpcTimeSamples(TRACKING::reco_tpc_maxtime_sample);
0109 in->registerStreamingInput(sngl,InputManagerType::TPC);
0110 i++;
0111 }
0112 se->registerInputManager(in);
0113
0114
0115
0116
0117
0118
0119
0120
0121
0122 se->run(nEvents);
0123
0124 se->End();
0125 delete se;
0126 gSystem->Exit(0);
0127 }