CMS 3D CMS Logo

GeneralInterpretationAlgo.h
Go to the documentation of this file.
1 #ifndef RecoHGCal_TICL_GeneralInterpretationAlgo_H_
2 #define RecoHGCal_TICL_GeneralInterpretationAlgo_H_
3 
11 
12 namespace ticl {
13 
15  public:
17 
18  ~GeneralInterpretationAlgo() override;
19 
20  void makeCandidates(const Inputs &input,
21  edm::Handle<MtdHostCollection> inputTiming_h,
22  std::vector<Trackster> &resultTracksters,
23  std::vector<int> &resultCandidate) override;
24 
25  void initialize(const HGCalDDDConstants *hgcons,
26  const hgcal::RecHitTools rhtools,
27  const edm::ESHandle<MagneticField> bfieldH,
28  const edm::ESHandle<Propagator> propH) override;
29 
31 
32  private:
33  void buildLayers();
34 
36  const unsigned idx,
37  float zVal,
38  std::array<TICLLayerTile, 2> &tracksterTiles);
39 
41  const std::vector<std::pair<Vector, unsigned>> &seedingCollection,
42  const std::array<TICLLayerTile, 2> &tracksterTiles,
43  const std::vector<Vector> &tracksterPropPoints,
44  float delta,
45  unsigned trackstersSize,
46  std::vector<std::vector<unsigned>> &resultCollection,
47  bool useMask);
48 
49  bool timeAndEnergyCompatible(float &total_raw_energy,
50  const reco::Track &track,
51  const Trackster &trackster,
52  const float &tkTime,
53  const float &tkTimeErr,
54  const float &tkQual,
55  const float &tkBeta,
56  const GlobalPoint &tkMtdPos,
57  bool useMTDTiming);
58 
59  const float tkEnergyCut_ = 2.0f;
60  const float maxDeltaT_ = 3.0f;
61  const float del_tk_ts_layer1_;
62  const float del_tk_ts_int_;
64 
66 
67  std::unique_ptr<GeomDet> firstDisk_[2];
68  std::unique_ptr<GeomDet> interfaceDisk_[2];
69 
71 
74  };
75 
76 } // namespace ticl
77 
78 #endif
void initialize(const HGCalDDDConstants *hgcons, const hgcal::RecHitTools rhtools, const edm::ESHandle< MagneticField > bfieldH, const edm::ESHandle< Propagator > propH) override
edm::ESHandle< MagneticField > bfield_
bool timeAndEnergyCompatible(float &total_raw_energy, const reco::Track &track, const Trackster &trackster, const float &tkTime, const float &tkTimeErr, const float &tkQual, const float &tkBeta, const GlobalPoint &tkMtdPos, bool useMTDTiming)
static void fillPSetDescription(edm::ParameterSetDescription &iDesc)
std::unique_ptr< GeomDet > firstDisk_[2]
std::unique_ptr< GeomDet > interfaceDisk_[2]
static std::string const input
Definition: EdmProvDump.cc:50
edm::ESHandle< Propagator > propagator_
void findTrackstersInWindow(const MultiVectorManager< Trackster > &tracksters, const std::vector< std::pair< Vector, unsigned >> &seedingCollection, const std::array< TICLLayerTile, 2 > &tracksterTiles, const std::vector< Vector > &tracksterPropPoints, float delta, unsigned trackstersSize, std::vector< std::vector< unsigned >> &resultCollection, bool useMask)
Vector propagateTrackster(const Trackster &t, const unsigned idx, float zVal, std::array< TICLLayerTile, 2 > &tracksterTiles)
math::XYZVectorF Vector
Definition: Common.h:42
Definition: Common.h:10
void makeCandidates(const Inputs &input, edm::Handle< MtdHostCollection > inputTiming_h, std::vector< Trackster > &resultTracksters, std::vector< int > &resultCandidate) override
GeneralInterpretationAlgo(const edm::ParameterSet &conf, edm::ConsumesCollector iC)