Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-10-25 10:01:54

0001 /****************************************************************************
0002  *
0003  * This is a part of CTPPS offline software.
0004  * Authors:
0005  *   Laurent Forthomme (laurent.forthomme@cern.ch)
0006  *   Nicola Minafra (nicola.minafra@cern.ch)
0007  *   Mateusz Szpyrka (mateusz.szpyrka@cern.ch)
0008  *
0009  ****************************************************************************/
0010 
0011 #ifndef RecoPPS_Local_CTPPSDiamondTrackRecognition
0012 #define RecoPPS_Local_CTPPSDiamondTrackRecognition
0013 
0014 #include "DataFormats/Common/interface/DetSet.h"
0015 #include "DataFormats/CTPPSReco/interface/CTPPSDiamondRecHit.h"
0016 #include "DataFormats/CTPPSReco/interface/CTPPSDiamondLocalTrack.h"
0017 
0018 #include "RecoPPS/Local/interface/CTPPSTimingTrackRecognition.h"
0019 
0020 #include <unordered_map>
0021 
0022 /**
0023  * \brief Class performing smart reconstruction for PPS Diamond Detectors.
0024  * \date Jan 2017
0025 **/
0026 class CTPPSDiamondTrackRecognition : public CTPPSTimingTrackRecognition<CTPPSDiamondLocalTrack, CTPPSDiamondRecHit> {
0027 public:
0028   CTPPSDiamondTrackRecognition(const edm::ParameterSet& iConfig);
0029 
0030   void clear() override;
0031   /// Feed a new hit to the tracks recognition algorithm
0032   void addHit(const CTPPSDiamondRecHit& recHit) override;
0033   /// Produce a collection of tracks for the current station, given its hits collection
0034   int produceTracks(edm::DetSet<CTPPSDiamondLocalTrack>& tracks) override;
0035 
0036 private:
0037   std::unordered_map<int, int> mhMap_;
0038   bool excludeSingleEdgeHits_;
0039 };
0040 
0041 #endif