File indexing completed on 2025-12-16 09:18:06
0001 #include <TSystem.h>
0002 #include <iostream>
0003 #include "PtCalculator.h"
0004
0005 void PtCalcTutorial()
0006 {
0007
0008 gSystem->Load("libPtCalc.so");
0009
0010
0011 SiCaloPt::PtCalculatorConfig cfg;
0012 SiCaloPt::PtCalculator calc(cfg);
0013 std::string err;
0014 if (!calc.init(&err)) {
0015 std::cout << "init failed: " << err << std::endl;
0016 }
0017
0018
0019 {
0020 SiCaloPt::InputEMD in;
0021 in.EMD_Angle = 0.1f;
0022 in.EMD_Eta = 0.0f;
0023 in.EMD_Radius = 93.5f;
0024 auto r = calc.ComputePt(SiCaloPt::Method::MethodEMD, SiCaloPt::AnyInput{in});
0025 std::cout << "[EMD] ok=" << r.ok << " pt=" << r.pt_reco << " err=\"" << r.err << "\"\n";
0026 }
0027
0028
0029 {
0030 SiCaloPt::InputEproj in;
0031 in.Energy_Calo = 8.f;
0032 in.Radius_Calo = 100.f;
0033 in.Z_Calo = 0.0f;
0034 in.Radius_vertex = 0.f;
0035 in.Z_vertex = 100.0f;
0036 auto r = calc.ComputePt(SiCaloPt::Method::MethodEproj, SiCaloPt::AnyInput{in});
0037 std::cout << "[Eproj] ok=" << r.ok << " pt=" << r.pt_reco << " err=\"" << r.err << "\"\n";
0038 }
0039 }