CMS 3D CMS Logo

MeasurementTrackerEvent.h
Go to the documentation of this file.
1 #ifndef MeasurementTrackerEvent_H
2 #define MeasurementTrackerEvent_H
3 
4 #include <vector>
12 
14 
16 public:
18 
22 
26  const PxMeasurementDetSet *pixels,
27  const Phase2OTMeasurementDetSet *phase2OT,
28  const std::vector<bool> &stripClustersToSkip,
29  const std::vector<bool> &pixelClustersToSkip,
30  const std::vector<bool> &phase2OTClustersToSkip)
31  : theTracker(&tracker),
32  theStripData(strips),
33  thePixelData(pixels),
34  thePhase2OTData(phase2OT),
35  theOwner(true),
36  theStripClustersToSkip(stripClustersToSkip),
37  thePixelClustersToSkip(pixelClustersToSkip),
38  thePhase2OTClustersToSkip(phase2OTClustersToSkip) {}
39 
44 
45  //FIXME:just temporary solution for phase2!
47  const MeasurementTrackerEvent &trackerEvent,
48  const edm::ContainerMask<edmNew::DetSetVector<SiPixelCluster> > &phase2pixelClustersToSkip,
50 
55 
56  const MeasurementTracker &measurementTracker() const { return *theTracker; }
57  const StMeasurementDetSet &stripData() const { return *theStripData; }
58  const PxMeasurementDetSet &pixelData() const { return *thePixelData; }
60  const std::vector<bool> &stripClustersToSkip() const { return theStripClustersToSkip; }
61  const std::vector<bool> &pixelClustersToSkip() const { return thePixelClustersToSkip; }
62  const std::vector<bool> &phase2OTClustersToSkip() const { return thePhase2OTClustersToSkip; }
63 
64  // forwarded calls
67 
69  MeasurementDetWithData idToDet(const DetId &id) const { return measurementTracker().idToDet(id, *this); }
70 
71 private:
72  const MeasurementTracker *theTracker = nullptr;
76  bool theOwner = false; // do I own the tree above?
77  // these could be const pointers as well, but ContainerMask doesn't expose the vector
78  std::vector<bool> theStripClustersToSkip;
79  std::vector<bool> thePixelClustersToSkip;
80  std::vector<bool> thePhase2OTClustersToSkip;
81 };
82 
83 #endif // MeasurementTrackerEvent_H
const std::vector< bool > & phase2OTClustersToSkip() const
MeasurementDetWithData idToDet(const DetId &id) const
Previous MeasurementDetSystem interface.
const TrackingGeometry * geomTracker() const
const Phase2OTMeasurementDetSet & phase2OTData() const
std::vector< bool > thePhase2OTClustersToSkip
MeasurementTrackerEvent()
Dummy constructor used for I/O (even if it&#39;s a transient object)
const StMeasurementDetSet & stripData() const
const std::vector< bool > & pixelClustersToSkip() const
const std::vector< bool > & stripClustersToSkip() const
const StMeasurementDetSet * theStripData
MeasurementTrackerEvent(const MeasurementTracker &tracker, const StMeasurementDetSet *strips, const PxMeasurementDetSet *pixels, const Phase2OTMeasurementDetSet *phase2OT, const std::vector< bool > &stripClustersToSkip, const std::vector< bool > &pixelClustersToSkip, const std::vector< bool > &phase2OTClustersToSkip)
Real constructor 1: with the full data (owned)
const PxMeasurementDetSet * thePixelData
const PxMeasurementDetSet & pixelData() const
std::vector< bool > theStripClustersToSkip
const TrackingGeometry * geomTracker() const
MeasurementTrackerEvent & operator=(const MeasurementTrackerEvent &other)=delete
const MeasurementTracker & measurementTracker() const
MeasurementDetWithData idToDet(const DetId &id, const MeasurementTrackerEvent &data) const override=0
MeasurementDetSystem interface.
Definition: DetId.h:17
const Phase2OTMeasurementDetSet * thePhase2OTData
strips
#turn off noise in all subdetectors simHcalUnsuppressedDigis.doNoise = False mix.digitizers.hcal.doNoise = False simEcalUnsuppressedDigis.doNoise = False mix.digitizers.ecal.doNoise = False simEcalUnsuppressedDigis.doESNoise = False simSiPixelDigis.AddNoise = False mix.digitizers.pixel.AddNoise = False simSiStripDigis.Noise = False mix.digitizers.strip.AddNoise = False
Definition: DigiDM_cff.py:32
const MeasurementTracker * theTracker
std::vector< bool > thePixelClustersToSkip
const GeometricSearchTracker * geometricSearchTracker() const
const GeometricSearchTracker * geometricSearchTracker() const