1 #ifndef MACRO_G4CEMCSPACAL_C
2 #define MACRO_G4CEMCSPACAL_C
21 #include <caloreco/RawClusterBuilderGraph.h>
22 #include <caloreco/RawClusterBuilderTemplate.h>
23 #include <caloreco/RawClusterPositionCorrection.h>
24 #include <caloreco/RawTowerCalibration.h>
25 #include <qa_modules/QAG4SimulationCalorimeter.h>
35 R__LOAD_LIBRARY(libcalo_reco.so)
36 R__LOAD_LIBRARY(libg4calo.so)
37 R__LOAD_LIBRARY(libg4detectors.so)
38 R__LOAD_LIBRARY(libg4eval.so)
39 R__LOAD_LIBRARY(libqa_modules.so)
110 <<
"G4_CEmc_Spacal.C::CEmc - Fatal Error - unrecognized SPACAL configuration #"
124 double emc_inner_radius = 95.;
125 double cemcthickness = 12.7;
126 double emc_outer_radius = emc_inner_radius + cemcthickness;
128 if (radius > emc_inner_radius)
130 cout <<
"inconsistency: pstof outer radius: " << radius
131 <<
" larger than emc inner radius: " << emc_inner_radius
139 cout <<
"G4_CEmc_Spacal.C::CEmc() - expect radius < " << emc_inner_radius - 1.5 -
no_overlapp <<
" to install SPACAL" << endl;
170 cout <<
"layer discrepancy, current layer " << ilayer
174 radius += cemcthickness;
203 double emc_inner_radius = 92;
207 double emc_outer_radius = emc_inner_radius + cemcthickness;
208 assert(emc_outer_radius < 116);
210 if (radius > emc_inner_radius)
212 cout <<
"inconsistency: preshower radius+thickness: " << radius
213 <<
" larger than emc inner radius: " << emc_inner_radius << endl;
218 radius = emc_inner_radius;
263 cemc->
SetCalibrationFileDir(
string(getenv(
"CALIBRATIONROOT")) +
string(
"/CEMC/Geometry_2018ProjTilted/"));
276 cout <<
"layer discrepancy, current layer " << ilayer
280 radius += cemcthickness;
300 const double radius = 95;
301 cemc_cells->
cellsize(
i, 2 * M_PI / 256. * radius, 2 * M_PI / 256. * radius);
311 string(getenv(
"CALIBRATIONROOT")) +
string(
"/CEMC/LightCollection/Prototype3Module.xml"),
312 "data_grid_light_guide_efficiency",
"data_grid_fiber_trans");
317 cout <<
"G4_CEmc_Spacal.C::CEmc - Fatal Error - unrecognized SPACAL configuration #"
338 double sampling_fraction = 1;
341 sampling_fraction = 0.0234335;
348 sampling_fraction = 2
e-02;
353 <<
"G4_CEmc_Spacal.C::CEMC_Towers - Fatal Error - unrecognized SPACAL configuration #"
359 const double photoelectron_per_GeV = 500;
361 bool doSimple =
true;
375 string(getenv(
"CALIBRATIONROOT")) +
string(
"/CEMC/TowerCalibCombinedParams_2020/"));
462 string(getenv(
"CALIBRATIONROOT")) +
string(
"/CEMC/TowerCalibCombinedParams_2020/"));
508 cout <<
"G4_CEmc_Spacal.C::CEMC_Towers - Fatal Error - unrecognized SPACAL configuration #"
531 emc_prof +=
"/EmcProfile/CEMCprof_Thresh30MeV.root";
544 cout <<
"CEMC_Clusters - unknown clusterizer setting!" << endl;
550 clusterCorrection->Get_eclus_CalibrationParameters().ReadFromFile(
"CEMC_RECALIB",
"xml", 0, 0,
552 string(getenv(
"CALIBRATIONROOT")) +
string(
"/CEMC/PositionRecalibration_EMCal_9deg_tilt/"));
554 clusterCorrection->Get_ecore_CalibrationParameters().ReadFromFile(
"CEMC_ECORE_RECALIB",
"xml", 0, 0,
556 string(getenv(
"CALIBRATIONROOT")) +
string(
"/CEMC/PositionRecalibration_EMCal_9deg_tilt/"));