File indexing completed on 2025-08-06 08:14:28
0001 #include <string>
0002
0003 using namespace std;
0004
0005 void Fun4All_TestBeam(int nEvents = 10,
0006 const char *input_file = "/sphenix/data/data03//phnxreco/sphenix/t1044/fnal/beam/beam_00000499-0000.prdf",
0007 const char *output_file = "beam_00000499.root"
0008 )
0009 {
0010 gSystem->Load("libfun4all");
0011 gSystem->Load("libPrototype4.so");
0012 gSystem->Load("libMvtxPrototype1.so");
0013
0014 Fun4AllServer *se = Fun4AllServer::instance();
0015
0016 se->Verbosity(Fun4AllServer::VERBOSITY_SOME);
0017
0018 char ifile[strlen(input_file)+1];
0019 strcpy(ifile,input_file);
0020 strtok(ifile,"_");
0021 int runnumber = atoi(strtok(0,"-"));
0022 int segnumber = atoi(strtok(strtok(0,"-"),"."));
0023 cout << "runnumber: " << runnumber << " segment " << segnumber << endl;
0024
0025 recoConsts *rc = recoConsts::instance();
0026 rc->set_IntFlag("RUNNUMBER",runnumber);
0027
0028 MvtxRunInfoUnpackPRDF *unpack_run = new MvtxRunInfoUnpackPRDF();
0029 unpack_run->Verbosity(0);
0030 se->registerSubsystem(unpack_run);
0031
0032 MvtxUnpackPRDF *unpack = new MvtxUnpackPRDF();
0033 if ( runnumber>=89 && runnumber<=97 ){
0034 unpack->SetCutOccupPerChip(1e-3);
0035 }else{
0036 unpack->SetCutOccupPerChip(1e-4);
0037 }
0038 unpack->Verbosity(0);
0039 se->registerSubsystem(unpack);
0040
0041 MvtxApplyHotDead *hotdead = new MvtxApplyHotDead("MvtxApplyHotDead",Form("hotmap/hotmap_testbeam_%08d.txt",runnumber));
0042 hotdead->Verbosity(0);
0043 hotdead->PrintHotDeadMap();
0044 se->registerSubsystem(hotdead);
0045
0046 MvtxClusterizer *clus = new MvtxClusterizer();
0047 clus->Verbosity(0);
0048 se->registerSubsystem(clus);
0049
0050 MvtxAlign *align = new MvtxAlign("MvtxAlign");
0051 align->SetAlignmentParFileDir("beamcenter/");
0052 align->PrintAlignmentPars();
0053 align->Verbosity(0);
0054 se->registerSubsystem(align);
0055
0056 MvtxQAHisto *qa = new MvtxQAHisto();
0057 qa->set_filename(Form("MvtxQAHisto-%08d-%04d.root",runnumber,segnumber+200));
0058 se->registerSubsystem(qa);
0059
0060 Fun4AllInputManager *in = new Fun4AllPrdfInputManager("PRDFin");
0061 in->fileopen(input_file);
0062 se->registerInputManager(in);
0063
0064
0065
0066
0067 se->run(nEvents);
0068
0069 se->End();
0070 }