Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-06-04 08:56:08

0001 //
0002 //   root -l './pfrich-cern-calibration.C("pfrich-cern-events.root", "pfrich-cern-calibration.json")'
0003 ////
0004 //   export SANDBOX=/home/eic/CERN-2026
0005 //   export LD_LIBRARY_PATH=${SANDBOX}/lib:${LD_LIBRARY_PATH}
0006 //
0007 //   root -l './scripts/pfrich-cern-calibration.C("pfrich-cern-events.root", "pfrich-cern-calibration.json")'
0008 //
0009 
0010 void pfrich_cern_calibration(const char *dfname, const char *jfname, unsigned stat = 0)
0011 {
0012   auto *reco = new IRT2::ReconstructionFactory(dfname, dfname, "pfRICH-2x2");//"PFRICH");
0013 
0014   //
0015   // Factory configuration part; use minimal set of options;
0016   {
0017     reco->IgnorePoissonTermInChiSquare();
0018     // Should be close enough to the real one; this only affects the calibration stage;
0019     reco->SetDefaultSinglePhotonThetaResolution(0.005);
0020     // Sensor active area will be pixellated NxN in digitization; '32': HRPPD;
0021     reco->SetSensorActiveAreaPixellation(32);
0022     
0023     // One hypothesis suffices to run the reconstruction engine;
0024     reco->AddHypothesis("pi+");
0025     
0026     // Enable aerogel radiator for ring imaging;
0027     reco->GetMyRICH()->GetRadiator("BelleIIAerogel3")->UseInRingImaging();
0028   }
0029   
0030   // Perform pre-calibration; second argument: statistics to use (default: all events);
0031   {
0032     reco->PerformCalibration(stat);
0033     
0034     // Export a JSON file with these calibrations;
0035     reco->GetMyRICH()->ExportJsonFormatCalibrations(jfname);
0036   }
0037 } // pfrich_cern_calibration()