Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2026-04-04 08:09:41

0001 #include <fun4all/Fun4AllDstInputManager.h>
0002 #include <fun4all/Fun4AllInputManager.h>
0003 #include <fun4all/Fun4AllServer.h>
0004 #include <fun4all/SubsysReco.h>
0005 
0006 #include <TSystem.h>
0007 
0008 #include <upcmeson/UPCMeson.h>
0009 #include <trackingdiagnostics/BeamCrossingAnalysis.h>
0010 
0011 R__LOAD_LIBRARY(libfun4all.so)
0012 R__LOAD_LIBRARY(libg4dst.so)
0013 R__LOAD_LIBRARY(libUPCMeson.so)
0014 R__LOAD_LIBRARY(libTrackingDiagnostics.so)
0015 
0016 //! Simple macro to analyze simDSTs or real DSTs for UPC analysis
0017 void Fun4All_UPCMeson(const int nevnt = 0,
0018     const std::string& inputfile = "G4sPHENIX.root",
0019     std::string outputfile = "")
0020 {
0021   Fun4AllServer *se = Fun4AllServer::instance();
0022 
0023   if ( outputfile.size() == 0 )
0024   {
0025     outputfile = "upcmeson_" + inputfile;
0026   }
0027 
0028   UPCMeson *upcmeson = new UPCMeson("upcmeson", outputfile);
0029   //upcmeson->Verbosity(10);
0030   upcmeson->analyzeTracks(true);
0031   upcmeson->analyzeTruth(false);
0032   upcmeson->SetGuessMass(0.13957039);
0033   se->registerSubsystem(upcmeson);
0034 
0035   BeamCrossingAnalysis *bcross = new BeamCrossingAnalysis("BEAMCROSS");
0036   bcross->set_output_file("beamcross.root");
0037   se->registerSubsystem(bcross);
0038 
0039   Fun4AllInputManager *in = new Fun4AllDstInputManager("DSTin");
0040   //Fun4AllInputManager *in2 = new Fun4AllDstInputManager("DSTin2");
0041 
0042   if ( inputfile.substr(inputfile.size()-5,inputfile.size()-1) == ".root" )
0043   {
0044     //in->fileopen(inputfile);
0045     in->AddFile(inputfile);
0046     //TString seedsfile = inputfile.c_str();
0047     //seedsfile.ReplaceAll("TRACKS","SEED");
0048     //std::cout << "SEEDS " << seedsfile << std::endl;
0049     //in2->AddFile(seedsfile.Data());
0050   }
0051   else if ( inputfile.substr(inputfile.size()-5,inputfile.size()-1) == ".list" )
0052   {
0053     in->AddListFile(inputfile);
0054   }
0055   se->registerInputManager(in);
0056 
0057   se->run(nevnt);
0058   se->End();
0059   delete se;
0060 
0061   cout <<"All done. Exiting..."<<endl;
0062 
0063   gSystem->Exit(0);
0064 }
0065