55 bool isHalfModule =
false;
72 if (updateEfficiencies) {
105 delete theHistogramId;
108 if (type == 1 && barrel) {
112 sprintf(sladder,
"Ladder_%02i", DBladder);
113 hisID = src.
label() +
"_" + sladder;
119 if (updateEfficiencies) {
131 iBooker.
book1D(
"efficiencyAlpha_" + hisID,
"Hit efficiency in Alpha", nbinangle, -3.5, 3.5);
142 meValidXLad_ = iBooker.
book1D(
"validX_" + hisID,
"# Valid hits in X", nbinX, -1.5, 1.5);
145 meValidYLad_ = iBooker.
book1D(
"validY_" + hisID,
"# Valid hits in Y", nbinY, -4., 4.);
154 meValidBetaLad_ = iBooker.
book1D(
"validBeta_" + hisID,
"# Valid hits in Beta", nbinangle, -3.5, 3.5);
177 if (type == 2 && barrel) {
181 sprintf(slayer,
"Layer_%i", DBlayer);
182 hisID = src.
label() +
"_" + slayer;
184 if (updateEfficiencies) {
196 iBooker.
book1D(
"efficiencyAlpha_" + hisID,
"Hit efficiency in Alpha", nbinangle, -3.5, 3.5);
207 meValidXLay_ = iBooker.
book1D(
"validX_" + hisID,
"# Valid hits in X", nbinX, -1.5, 1.5);
210 meValidYLay_ = iBooker.
book1D(
"validY_" + hisID,
"# Valid hits in Y", nbinY, -4., 4.);
216 meValidBetaLay_ = iBooker.
book1D(
"validBeta_" + hisID,
"# Valid hits in Beta", nbinangle, -3.5, 3.5);
236 if (type == 3 && barrel) {
240 sprintf(smodule,
"Ring_%i", DBmodule);
241 hisID = src.
label() +
"_" + smodule;
243 if (updateEfficiencies) {
255 iBooker.
book1D(
"efficiencyAlpha_" + hisID,
"Hit efficiency in Alpha", nbinangle, -3.5, 3.5);
266 meValidXPhi_ = iBooker.
book1D(
"validX_" + hisID,
"# Valid hits in X", nbinX, -1.5, 1.5);
269 meValidYPhi_ = iBooker.
book1D(
"validY_" + hisID,
"# Valid hits in Y", nbinY, -4., 4.);
275 meValidBetaPhi_ = iBooker.
book1D(
"validBeta_" + hisID,
"# Valid hits in Beta", nbinangle, -3.5, 3.5);
295 if (type == 4 && endcap) {
300 sprintf(sblade,
"Blade_%02i", blade);
301 hisID = src.
label() +
"_" + sblade;
303 if (updateEfficiencies) {
315 iBooker.
book1D(
"efficiencyAlpha_" + hisID,
"Hit efficiency in Alpha", nbinangle, -3.5, 3.5);
319 iBooker.
book1D(
"efficiencyBeta_" + hisID,
"Hit efficiency in Beta", nbinangle, -3.5, 3.5);
356 if (type == 5 && endcap) {
361 sprintf(sdisk,
"Disk_%i", disk);
362 hisID = src.
label() +
"_" + sdisk;
364 if (updateEfficiencies) {
376 iBooker.
book1D(
"efficiencyAlpha_" + hisID,
"Hit efficiency in Alpha", nbinangle, -3.5, 3.5);
416 if (type == 6 && endcap) {
423 sprintf(slab,
"Panel_%i_Ring_%i", panel, module);
424 hisID = src.
label() +
"_" + slab;
426 if (updateEfficiencies) {
438 iBooker.
book1D(
"efficiencyAlpha_" + hisID,
"Hit efficiency in Alpha", nbinangle, -3.5, 3.5);
493 float prediction_alpha = atan2(localDir.
z(), localDir.
x());
494 float prediction_beta = atan2(localDir.
z(), localDir.
y());
507 if (barrel && ladon) {
515 if (barrel && layon) {
522 if (barrel && phion) {
529 if (endcap && bladeon) {
536 if (endcap && diskon) {
543 if (endcap && ringon) {
554 if (barrel && ladon) {
562 if (barrel && layon) {
569 if (barrel && phion) {
576 if (endcap && bladeon) {
583 if (endcap && diskon) {
590 if (endcap && ringon) {
604 bool modon,
bool ladon,
bool layon,
bool phion,
bool bladeon,
bool diskon,
bool ringon) {
606 std::cout <<
"Now Filling histos for detid " <<
id_ << std::endl;
615 if (ladon && barrel) {
642 if (layon && barrel) {
669 if (phion && barrel) {
695 if (bladeon && endcap) {
725 if (diskon && endcap) {
753 if (ringon && endcap) {
785 if (nValid + nMissing != 0) {
786 efficiency = nValid / (nValid + nMissing);
787 error =
sqrt(efficiency * (1. - efficiency) / (nValid + nMissing));
789 return make_pair(efficiency,
error);
int plaquetteName() const
plaquetteId (in pannel)
void book(const edm::ParameterSet &, edm::EventSetup const &, DQMStore::IBooker &, int type=0, bool isUpgrade=false)
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
MonitorElement * meMissingXBlade_
MonitorElement * meMissingYLad_
MonitorElement * meMissingDisk_
MonitorElement * meEfficiency_
MonitorElement * meMissingPhi_
void setBinContent(int binx, double content)
set content of bin (1-D)
MonitorElement * meMissingAlphaDisk_
MonitorElement * meMissingBetaRing_
MonitorElement * meEfficiencyYRing_
MonitorElement * meValidAlphaRing_
MonitorElement * meEfficiencyXLay_
int moduleName() const
module id (index in z)
MonitorElement * meEfficiencyYLad_
MonitorElement * meEfficiencyAlphaPhi_
MonitorElement * meEfficiencyPhi_
LocalPoint position() const
Local x and y position coordinates.
MonitorElement * meMissingXRing_
MonitorElement * meEfficiencyYBlade_
MonitorElement * meEfficiencyBetaBlade_
std::pair< double, double > eff(double nValid, double nMissing)
MonitorElement * meValidXLad_
MonitorElement * meValidAlphaBlade_
MonitorElement * meMissingAlphaBlade_
MonitorElement * meMissingYBlade_
MonitorElement * meEfficiencyXPhi_
MonitorElement * meEfficiencyBeta_
MonitorElement * meEfficiencyBetaLad_
MonitorElement * meValidModLad_
MonitorElement * meMissingYPhi_
MonitorElement * meEfficiencyBetaRing_
MonitorElement * meValidYLay_
MonitorElement * meEfficiencyBetaPhi_
MonitorElement * meMissingXLad_
MonitorElement * meValidDisk_
MonitorElement * meValid_
MonitorElement * meValidAlphaLay_
MonitorElement * meMissingRing_
MonitorElement * meEfficiencyYLay_
MonitorElement * meEfficiencyAlphaLay_
MonitorElement * meMissingAlphaPhi_
MonitorElement * meEfficiencyAlphaBlade_
MonitorElement * meValidYLad_
MonitorElement * meEfficiencyDisk_
MonitorElement * meValidXPhi_
int bladeName() const
blade id
MonitorElement * meValidBetaLad_
MonitorElement * meMissingYRing_
MonitorElement * meMissingBetaLad_
MonitorElement * meValidAlphaPhi_
bool isHalfModule() const
full or half module
MonitorElement * meMissingAlphaRing_
MonitorElement * meMissingAlphaLay_
MonitorElement * meEfficiencyBlade_
MonitorElement * meValidAlphaDisk_
MonitorElement * meMissingBetaLay_
MonitorElement * meMissingBlade_
~SiPixelHitEfficiencyModule()
constexpr int subdetId() const
get the contents of the subdetector field (not cast into any detector's numbering enum) ...
MonitorElement * book1D(Args &&...args)
MonitorElement * meValidRing_
MonitorElement * meMissingBetaBlade_
MonitorElement * meMissingLay_
MonitorElement * meMissing_
void setBinError(int binx, double error)
set uncertainty on content of bin (1-D)
MonitorElement * meValidXRing_
LocalVector momentum() const
Momentum vector in the local frame.
MonitorElement * meEfficiencyXBlade_
MonitorElement * meValidYDisk_
MonitorElement * meEfficiencyAlphaRing_
MonitorElement * meEfficiencyYDisk_
MonitorElement * meMissingLad_
MonitorElement * meValidLad_
MonitorElement * meValidXBlade_
MonitorElement * meEfficiencyXDisk_
MonitorElement * meValidBetaDisk_
MonitorElement * meValidAlphaLad_
MonitorElement * meEfficiencyRing_
std::string setHistoId(std::string variable, uint32_t &rawId)
Set Histogram Id.
MonitorElement * meEfficiencyX_
MonitorElement * meValidYRing_
MonitorElement * meMissingYLay_
MonitorElement * meValidYBlade_
int ladderName() const
ladder id (index in phi)
void fill(const TrackerTopology *pTT, const LocalTrajectoryParameters <p, bool isHitValid, bool modon=true, bool ladon=true, bool layon=true, bool phion=true, bool bladeon=true, bool diskon=true, bool ringon=true)
MonitorElement * meMissingYDisk_
void computeEfficiencies(bool modon=true, bool ladon=true, bool layon=true, bool phion=true, bool bladeon=true, bool diskon=true, bool ringon=true)
MonitorElement * meValidBetaLay_
MonitorElement * meEfficiencyAlphaDisk_
int layerName() const
layer id
MonitorElement * meEfficiencyLay_
MonitorElement * meValidPhi_
MonitorElement * meEfficiencyBetaDisk_
MonitorElement * meEfficiencyXRing_
MonitorElement * meEfficiencyLad_
MonitorElement * meValidBetaRing_
MonitorElement * meEfficiencyXLad_
double getBinContent(int binx) const
get content of bin (1-D)
MonitorElement * meValidXLay_
MonitorElement * meValidYPhi_
MonitorElement * meValidLay_
MonitorElement * meMissingXLay_
MonitorElement * meEfficiencyY_
MonitorElement * meEfficiencyAlpha_
int pannelName() const
pannel id
MonitorElement * meEfficiencyAlphaLad_
MonitorElement * meEfficiencyYPhi_
MonitorElement * meMissingBetaDisk_
SiPixelHitEfficiencyModule()
MonitorElement * meValidBetaPhi_
MonitorElement * meMissingModLad_
int diskName() const
disk id
MonitorElement * meMissingXDisk_
int getNbinsX() const
get # of bins in X-axis
MonitorElement * meValidBetaBlade_
MonitorElement * meEfficiencyBetaLay_
MonitorElement * meValidXDisk_
MonitorElement * meMissingBetaPhi_
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
T const * product() const
MonitorElement * meMissingXPhi_
MonitorElement * meValidBlade_
MonitorElement * meMissingAlphaLad_