File indexing completed on 2025-08-03 08:22:08
0001 int Min_cemc_layer = 1;
0002 int Max_cemc_layer = 1;
0003 int Fun4All_G4_Clusters(
0004 int nEvents = 100,
0005 const char * inputFile = "/phenix/sim01/sPHENIX/pythia/reference_design/fieldmap/G4Hits_Pythia_0.root",
0006 const char * outputFile = "G4sPHENIXClusters.root"
0007 )
0008 {
0009
0010
0011
0012
0013 gSystem->Load("libfun4all.so");
0014 gSystem->Load("libg4detectors.so");
0015 gSystem->Load("libphhepmc.so");
0016 gSystem->Load("libg4testbench.so");
0017 gSystem->Load("libg4hough.so");
0018 gSystem->Load("libcemc.so");
0019 gSystem->Load("libg4eval.so");
0020
0021 Fun4AllServer *se = Fun4AllServer::instance();
0022 se->Verbosity(0);
0023
0024
0025
0026
0027
0028 PHG4CylinderCellReco *cemc_cells = new PHG4CylinderCellReco("CEMCCYLCELLRECO");
0029 cemc_cells->Detector("CEMC");
0030 for (int i = Min_cemc_layer; i <= Max_cemc_layer; i++) {
0031 cemc_cells->etaphisize(i, 0.024, 0.024);
0032 }
0033 se->registerSubsystem(cemc_cells);
0034
0035
0036
0037
0038 RawTowerBuilder *TowerBuilder = new RawTowerBuilder("EmcRawTowerBuilder");
0039 TowerBuilder->Detector("CEMC");
0040 TowerBuilder->Verbosity(0);
0041 se->registerSubsystem( TowerBuilder );
0042
0043 RawClusterBuilder* ClusterBuilder = new RawClusterBuilder("EmcRawClusterBuilder");
0044 ClusterBuilder->Detector("CEMC");
0045 ClusterBuilder->Verbosity(0);
0046 se->registerSubsystem( ClusterBuilder );
0047
0048
0049
0050 Fun4AllInputManager *hitsin = new Fun4AllDstInputManager("DSTin");
0051 hitsin->fileopen(inputFile);
0052 se->registerInputManager(hitsin);
0053 Fun4AllDstOutputManager *out = new Fun4AllDstOutputManager("DSTOUT", outputFile);
0054 out->AddNode("G4HIT_CEMC");
0055 out->AddNode("G4CELL_CEMC");
0056 out->AddNode("TOWER_CEMC");
0057 out->AddNode("CLUSTER_CEMC");
0058 se->registerOutputManager(out);
0059
0060
0061
0062
0063 se->run(nEvents);
0064
0065
0066
0067
0068
0069 se->End();
0070 std::cout << "All done" << std::endl;
0071 delete se;
0072 gSystem->Exit(0);
0073 }