CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
MeasurementTrackerEvent.h
Go to the documentation of this file.
1 #ifndef MeasurementTrackerEvent_H
2 #define MeasurementTrackerEvent_H
3 
4 #include <vector>
13 
15 
17 public:
19 
23 
27  const PxMeasurementDetSet *pixels,
28  const Phase2OTMeasurementDetSet *phase2OT,
31  const std::vector<bool> &stripClustersToSkip,
32  const std::vector<bool> &pixelClustersToSkip,
33  const std::vector<bool> &phase2OTClustersToSkip)
34  : theTracker(&tracker),
35  theStripData(strips),
36  thePixelData(pixels),
37  thePhase2OTData(phase2OT),
38  thePhase2OTVectorHits(phase2OTVectorHits),
39  thePhase2OTVectorHitsRej(phase2OTVectorHitsRej),
40  theOwner(true),
41  theStripClustersToSkip(stripClustersToSkip),
42  thePixelClustersToSkip(pixelClustersToSkip),
43  thePhase2OTClustersToSkip(phase2OTClustersToSkip) {}
44 
49 
50  //FIXME:just temporary solution for phase2!
52  const MeasurementTrackerEvent &trackerEvent,
53  const edm::ContainerMask<edmNew::DetSetVector<SiPixelCluster> > &phase2pixelClustersToSkip,
55 
56  MeasurementTrackerEvent(const MeasurementTrackerEvent &other) = delete;
60 
61  const MeasurementTracker &measurementTracker() const { return *theTracker; }
62  const StMeasurementDetSet &stripData() const { return *theStripData; }
63  const PxMeasurementDetSet &pixelData() const { return *thePixelData; }
67  const std::vector<bool> &stripClustersToSkip() const { return theStripClustersToSkip; }
68  const std::vector<bool> &pixelClustersToSkip() const { return thePixelClustersToSkip; }
69  const std::vector<bool> &phase2OTClustersToSkip() const { return thePhase2OTClustersToSkip; }
70 
71  // forwarded calls
74 
76  MeasurementDetWithData idToDet(const DetId &id) const { return measurementTracker().idToDet(id, *this); }
77 
78 private:
79  const MeasurementTracker *theTracker = nullptr;
85  bool theOwner = false; // do I own the tree above?
86  // these could be const pointers as well, but ContainerMask doesn't expose the vector
87  std::vector<bool> theStripClustersToSkip;
88  std::vector<bool> thePixelClustersToSkip;
89  std::vector<bool> thePhase2OTClustersToSkip;
90 };
91 
92 #endif // MeasurementTrackerEvent_H
const std::vector< bool > & phase2OTClustersToSkip() const
MeasurementDetWithData idToDet(const DetId &id) const
Previous MeasurementDetSystem interface.
const VectorHitCollection * thePhase2OTVectorHits
const Phase2OTMeasurementDetSet & phase2OTData() const
const VectorHitCollection * thePhase2OTVectorHitsRej
std::vector< bool > thePhase2OTClustersToSkip
MeasurementTrackerEvent()
Dummy constructor used for I/O (even if it&#39;s a transient object)
const StMeasurementDetSet & stripData() const
const VectorHitCollection & phase2OTVectorHits() const
const std::vector< bool > & pixelClustersToSkip() const
const std::vector< bool > & stripClustersToSkip() const
const TrackerGeometry * geomTracker() const
const StMeasurementDetSet * theStripData
const VectorHitCollection & phase2OTVectorHitsRej() const
const PxMeasurementDetSet * thePixelData
const PxMeasurementDetSet & pixelData() const
std::vector< bool > theStripClustersToSkip
tuple 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
MeasurementDetWithData idToDet(const DetId &id, const MeasurementTrackerEvent &data) const override=0
MeasurementDetSystem interface.
MeasurementTrackerEvent & operator=(const MeasurementTrackerEvent &other)=delete
const MeasurementTracker & measurementTracker() const
MeasurementTrackerEvent(const MeasurementTracker &tracker, const StMeasurementDetSet *strips, const PxMeasurementDetSet *pixels, const Phase2OTMeasurementDetSet *phase2OT, const VectorHitCollection *phase2OTVectorHits, const VectorHitCollection *phase2OTVectorHitsRej, const std::vector< bool > &stripClustersToSkip, const std::vector< bool > &pixelClustersToSkip, const std::vector< bool > &phase2OTClustersToSkip)
Real constructor 1: with the full data (owned)
Definition: DetId.h:17
const TrackerGeometry * geomTracker() const
const Phase2OTMeasurementDetSet * thePhase2OTData
const MeasurementTracker * theTracker
std::vector< bool > thePixelClustersToSkip
const GeometricSearchTracker * geometricSearchTracker() const
const GeometricSearchTracker * geometricSearchTracker() const