Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-12-17 09:24:06

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