50 SiPixelPhase1TrackResiduals::SiPixelPhase1TrackResiduals(
const edm::ParameterSet& iConfig)
56 trackerGeomToken_ = esConsumes<TrackerGeometry, TrackerDigiGeometryRecord>();
67 if (applyVertexCut_) {
73 std::vector<TrackerValidationVariables::AVTrackStruct> vtracks;
75 validator.fillTrackQuantities(
80 return (!applyVertexCut_ ||
85 for (
auto&
track : vtracks) {
86 for (
auto& it :
track.hits) {
87 auto id =
DetId(it.rawDetId);
88 auto isPixel =
id.subdetId() == 1 ||
id.subdetId() == 2;
95 if (it.resXprimeErr != 0 && it.resYprimeErr != 0) {
96 histo[NormRes_X].fill(it.resXprime / it.resXprimeErr,
id, &
iEvent);
97 histo[NormRes_Y].fill(it.resYprime / it.resYprimeErr,
id, &
iEvent);
98 histo[DRNR_X].fill(it.resXprime / it.resXprimeErr,
id, &
iEvent);
99 histo[DRNR_Y].fill(it.resYprime / it.resYprimeErr,
id, &
iEvent);
102 if (it.isOnEdgePixel) {
103 histo[RESONEDGE_X].fill(it.resXprime,
id, &
iEvent);
104 histo[RESONEDGE_Y].fill(it.resYprime,
id, &
iEvent);
107 if (it.isOtherBadPixel) {
108 histo[RESOTHERBAD_X].fill(it.resXprime,
id, &
iEvent);
109 histo[RESOTHERBAD_Y].fill(it.resYprime,
id, &
iEvent);
T getParameter(std::string const &) const
#define DEFINE_FWK_MODULE(type)
example_stream void analyze(const edm::Event &, const edm::EventSetup &) override
T getUntrackedParameter(std::string const &, T const &) const
Abs< T >::type abs(const T &t)
ESHandle< T > getHandle(const ESGetToken< T, R > &iToken) const
void analyze(edm::Event const &e, edm::EventSetup const &) override=0
bool isPixel(HitType hitType)