Back to home page

sPhenix code displayed by LXR

 
 

    


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   // std::cout<< " run: " << runnumber << " seg: " << segment << std::endl;
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 //rc->set_IntFlag("RUNNUMBER",20445);
0099   Fun4AllStreamingInputManager *in = new Fun4AllStreamingInputManager("Comb");
0100 //  in->Verbosity(10);
0101   int i=0;
0102   for (auto iter : infile)
0103   {
0104     SingleTpcPoolInput *sngl= new SingleTpcPoolInput("TPC_" + to_string(i));
0105 //    sngl->Verbosity(3);
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    // TpcCheck *tpccheck = new TpcCheck();
0115    // tpccheck->Verbosity(3);
0116    // tpccheck->SetBcoRange(130);
0117    // se->registerSubsystem(tpccheck);
0118 
0119   // Fun4AllOutputManager *out = new Fun4AllDstOutputManager("out","tpc.root");
0120   // se->registerOutputManager(out);
0121 
0122    se->run(nEvents);
0123 
0124    se->End();
0125    delete se;
0126    gSystem->Exit(0);
0127 }