HerdSoftware  0.3.2
ReconstructionUtils.h
Go to the documentation of this file.
1 /*
2  * ReconstructionUtils.h
3  *
4  * Created on: 4 Mar 2022
5  * Author: Valerio Formato
6  */
7 
8 #ifndef HERD_RECONSTRUCTIONUTILS_H
9 #define HERD_RECONSTRUCTIONUTILS_H
10 
11 // HerdSoftware headers
12 #include "common/BinnedProfile.h"
15 #include "dataobjects/CaloShower.h"
16 #include "dataobjects/Line.h"
17 #include "dataobjects/Point.h"
18 
19 namespace Herd {
20 namespace Reconstruction {
21 
39 Point CaloTwoThreshShowerStartingPoint(const CaloHits &caloHits, const Line &showerAxis,
40  const CaloGeoParams &caloGeoParams, float thr1, float thr2, float radius,
41  float distSecond, float threshold = 0.0f);
42 
62 float CaloLocalEnergy(const CaloHits &hits, const Line &line, const CaloGeoParams &geoParams, float radius,
63  float innerRadius = 0, Point refPoint = defaultValue<Point>,
64  float startPos = std::numeric_limits<float>::lowest(),
65  float endPos = std::numeric_limits<float>::max(), float threshold = 0.0f);
66 
80 float CaloLongitudinalMoment(unsigned int order, const CaloHits &hits, const Vec3D &dir, const Point &refPoint,
81  const CaloGeoParams &geoParams, float threshold = 0.0f);
82 
94 float CaloLateralMoment(unsigned int order, const CaloHits &hits, const Line &dir, const CaloGeoParams &geoParams,
95  float threshold = 0.0f);
96 
112  const CaloGeoParams &geoParams, float maxRadius,
113  float longitudinalDistStep, float threshold = 0.0f);
114 
131  const CaloGeoParams &geoParams, float maxRadius,
132  float longitudinalDistStep, float momentOrder,
133  float threshold = 0.0f);
134 
135 } // namespace Reconstruction
136 } // namespace Herd
137 
138 #endif
CssGeoParams.h CssGeoParams class declaration.
Definition: CaloPDCalibrationAlgo.h:24
BinnedProfile< float > CaloSignalLongitudinalProfile(const CaloHits &hits, const Line &line, const CaloGeoParams &geoParams, float maxRadius, float longitudinalDistStep, float threshold=0.0f)
Computes the longitudinal profile of the CALO energy deposit distribution.
Definition: ReconstructionUtils.cpp:160
float CaloLocalEnergy(const CaloHits &hits, const Line &line, const CaloGeoParams &geoParams, float radius, float innerRadius=0, Point refPoint=defaultValue< Point >, float startPos=std::numeric_limits< float >::lowest(), float endPos=std::numeric_limits< float >::max(), float threshold=0.0f)
Computes the energy deposit around the given line.
Definition: ReconstructionUtils.cpp:110
A class describing a vector in 3D space.
Definition: Vec3D.h:33
Data structure for the Calo geometry parameters.
Definition: CaloGeoParams.h:34
Class describing a line in the 3D space.
Definition: Line.h:34
float CaloLongitudinalMoment(unsigned int order, const CaloHits &hits, const Vec3D &dir, const Point &refPoint, const CaloGeoParams &geoParams, float threshold=0.0f)
Computes the logitudinal moment of the CALO hits distribution.
Definition: ReconstructionUtils.cpp:83
Handler struct for binned profile of various variables.
Definition: BinnedProfile.h:21
BinnedProfile< float > CaloLateralMomentLongitudinalProfile(const CaloHits &hits, const Line &line, const CaloGeoParams &geoParams, float maxRadius, float longitudinalDistStep, float momentOrder, float threshold=0.0f)
Calculate the longitudinal profile of the lateral momenta according to user defined longitudinal step...
Definition: ReconstructionUtils.cpp:202
Point CaloTwoThreshShowerStartingPoint(const CaloHits &caloHits, const Line &showerAxis, const CaloGeoParams &caloGeoParams, float thr1, float thr2, float radius, float distSecond, float threshold=0.0f)
Compute the shower starting point using a two-threshold algorithm.
Definition: ReconstructionUtils.cpp:11
Container for the hits of a single CALO detector.
float CaloLateralMoment(unsigned int order, const CaloHits &hits, const Line &dir, const CaloGeoParams &geoParams, float threshold=0.0f)
Computes the lateral moment of the CALO hits distribution.
Definition: ReconstructionUtils.cpp:97