24 std::string ntupName(
"SiPixel");
32 ntupName =
"SiITkPixel";
44 ntupName =
"SiITkStrip";
60 return StatusCode::FAILURE;
64 float bin_down = -600;
66 float radius_up = 600;
67 float radius_down = 200;
74 }
else if (
detName ==
"ITkPixel") {
80 }
else if (
detName ==
"ITkStrip") {
111 m_h_xy =
new TH2D((
"h_"+
detName+
"_xy").c_str(), (
"h_"+
detName+
"_xy").c_str(), 100,bin_down,bin_up,100, bin_down, bin_up);
114 m_h_zr =
new TH2D((
"h_"+
detName+
"_zr").c_str(), (
"h_"+
detName+
"_zr").c_str(), 100,-z_max, z_max, 100, radius_down, radius_up);
132 m_h_z_eloss =
new TH2D((
"h_"+
detName+
"_z_eloss").c_str(), (
"h_"+
detName+
" Eloss vs. z").c_str(),100, -z_max,z_max,100,0,50);
135 m_h_r_eloss =
new TH2D((
"h_"+
detName+
"_r_eloss").c_str(), (
"h_"+
detName+
" Eloss vs. r").c_str(),100, radius_down,radius_down,100,0,50);
174 if (
detName.find(
"ITk") != std::string::npos) {
175 std::string xy_name =
"h_ITk_xy";
176 auto xy = std::make_unique<TH2D>(xy_name.c_str(), xy_name.c_str(), 2200, -1100, 1100, 2200, -1100, 1100);
180 std::string zr_name =
"h_ITk_zr";
181 auto zr = std::make_unique<TH2D>(zr_name.c_str(), zr_name.c_str(), 6800, -3400, 3400, 1100, 0, 1100);
187 m_tree =
new TTree(ntupName.c_str(), ntupName.c_str());
222 return StatusCode::SUCCESS;
253 const EventContext&ctx {Gaudi::Hive::currentContext()};
257 for (
const SiHit &hit : *hitCollection) {
274 double step_length = (hit.localStartPosition() - hit.localEndPosition()).
mag();
280 if (hit.getBarrelEndcap() == 0) {
302 const auto& HMPL = hit.particleLink();
303 if (HMPL.isValid()) {
304 auto part = HMPL.cptr();
332 return StatusCode::SUCCESS;