CMS 3D CMS Logo

DTHitQualityUtils.h
Go to the documentation of this file.
1 #ifndef Validation_DTRecHits_DTHitQualityUtils_h
2 #define Validation_DTRecHits_DTHitQualityUtils_h
3 
17 
18 #include <map>
19 #include <atomic>
20 
21 class PSimHit;
22 class DTGeometry;
23 
24 namespace DTHitQualityUtils {
25 
28  std::map<DTWireId, edm::PSimHitContainer > mapSimHitsPerWire(const edm::PSimHitContainer& simhits) ;
30  std::map<DTWireId, const PSimHit*> mapMuSimHitsPerWire(const std::map<DTWireId, edm::PSimHitContainer>& simHitWireMap) ;
34  std::pair<const PSimHit*, const PSimHit*> findMuSimSegment(const std::map<DTWireId, const PSimHit*>& mapWireAndMuSimHit) ;
36  std::pair<LocalVector, LocalPoint> findMuSimSegmentDirAndPos(const std::pair<const PSimHit*, const PSimHit*>& inAndOutSimHit,
37  const DetId detId, const DTGeometry *muonGeom);
41  std::pair<double, double> findSegmentAlphaAndBeta(const LocalVector& direction);
42 
43  // Set the verbosity level
44  extern std::atomic<bool> debug;
45 
46  //Find angle error
47  double sigmaAngle(double Angle, double sigma2TanAngle);
48 
49 }
50 #endif
std::pair< double, double > findSegmentAlphaAndBeta(const LocalVector &direction)
std::map< DTWireId, const PSimHit * > mapMuSimHitsPerWire(const std::map< DTWireId, edm::PSimHitContainer > &simHitWireMap)
Create a map between the Mu SimHits and corresponding MuBarWireId ;.
std::atomic< bool > debug
std::map< DTWireId, edm::PSimHitContainer > mapSimHitsPerWire(const edm::PSimHitContainer &simhits)
const PSimHit * findMuSimHit(const edm::PSimHitContainer &hits)
Select the SimHit from a muon in a vector of SimHits.
Definition: DetId.h:18
std::pair< LocalVector, LocalPoint > findMuSimSegmentDirAndPos(const std::pair< const PSimHit *, const PSimHit * > &inAndOutSimHit, const DetId detId, const DTGeometry *muonGeom)
Find direction and position of a segment (in local RF) from outer and inner mu SimHit in the RF of ob...
Definition: Angle.h:17
std::pair< const PSimHit *, const PSimHit * > findMuSimSegment(const std::map< DTWireId, const PSimHit * > &mapWireAndMuSimHit)
Find Innermost and outermost SimHit from Mu in a SL (they identify a simulated segment) ...
std::vector< PSimHit > PSimHitContainer
double sigmaAngle(double Angle, double sigma2TanAngle)