TransverseTrackHitsBaseTool.h
Go to the documentation of this file.
1 /**
2  * @file larpandoracontent/LArThreeDReco/LArHitCreation/TransverseTrackHitsBaseTool.h
3  *
4  * @brief Header file for the transverse track hits base tool.
5  *
6  * $Log: $
7  */
8 #ifndef TRANSVERSE_TRACK_HITS_BASE_TOOL_H
9 #define TRANSVERSE_TRACK_HITS_BASE_TOOL_H 1
10 
12 
13 namespace lar_content
14 {
15 
16 /**
17  * @brief TransverseTrackHitsBaseTool class
18  */
20 {
21 protected:
22  /**
23  * @brief Get the three dimensional position using a provided two dimensional calo hit and sliding linear fits in the other two views
24  *
25  * @param matchedSlidingFitMap map of sliding fit results from each view
26  * @param protoHit to receive the populated proto hit
27  */
28  virtual void GetTransverseTrackHit3D(const MatchedSlidingFitMap &matchedSlidingFitMap, ProtoHit &protoHit) const = 0;
29 
30  virtual void GetTrackHits3D(
31  const pandora::CaloHitVector &inputTwoDHits, const MatchedSlidingFitMap &matchedSlidingFitMap, ProtoHitVector &protoHitVector) const;
32 
33  /**
34  * @brief Calculate an additional contribution to the chi-squared based on the steepness of the track
35  *
36  * @param matchedSlidingFitMap map of sliding fit results from each view
37  * @param protoHit to receive the modified proto hit
38  */
39  virtual void AddTransverseChi2(const MatchedSlidingFitMap &matchedSlidingFitMap, ProtoHit &protoHit) const;
40 
41 private:
42  /**
43  * @brief Calculate an additional contribution to the chi-squared based on the steepness of the track
44  *
45  * @param position2D the calculated two dimensional position
46  * @param fitResult the sliding fit to the track
47  */
48  double GetTransverseChi2(const pandora::CartesianVector &position2D, const TwoDSlidingFitResult &fitResult) const;
49 };
50 
51 } // namespace lar_content
52 
53 #endif // #ifndef TRANSVERSE_TRACK_HITS_BASE_TOOL_H
Proto hits are temporary constructs to be used during iterative 3D hit procedure. ...
std::map< pandora::HitType, TwoDSlidingFitResult > MatchedSlidingFitMap
virtual void GetTransverseTrackHit3D(const MatchedSlidingFitMap &matchedSlidingFitMap, ProtoHit &protoHit) const =0
Get the three dimensional position using a provided two dimensional calo hit and sliding linear fits ...
ThreeDHitCreationAlgorithm::ProtoHitVector ProtoHitVector
virtual void GetTrackHits3D(const pandora::CaloHitVector &inputTwoDHits, const MatchedSlidingFitMap &matchedSlidingFitMap, ProtoHitVector &protoHitVector) const
Calculate 3D hits from an input list of 2D hits.
double GetTransverseChi2(const pandora::CartesianVector &position2D, const TwoDSlidingFitResult &fitResult) const
Calculate an additional contribution to the chi-squared based on the steepness of the track...
virtual void AddTransverseChi2(const MatchedSlidingFitMap &matchedSlidingFitMap, ProtoHit &protoHit) const
Calculate an additional contribution to the chi-squared based on the steepness of the track...
TrackHitsBaseTool class.
Header file for the track hits base tool.