20 asg::AsgMessaging(std::string(
name)),
22 m_forceConvertedPhotonPID(false),
23 m_forceNonConvertedPhotonPID(false),
25 m_cutPositionClusterEtaRange_Photon(0),
27 m_cutPositionClusterBackEnergyFraction_Photon(0),
30 m_cutPositionClusterHadronicLeakage_Photon(0),
32 m_cutPositionClusterMiddleEnergy_Photon(0),
34 m_cutPositionClusterMiddleEratio37_Photon(0),
36 m_cutPositionClusterMiddleEratio33_Photon(0),
38 m_cutPositionClusterMiddleWidth_Photon(0),
40 m_cutPositionClusterStripsEratio_Photon(0),
42 m_cutPositionClusterStripsDeltaE_Photon(0),
44 m_cutPositionClusterStripsWtot_Photon(0),
46 m_cutPositionClusterStripsFracm_Photon(0),
48 m_cutPositionClusterStripsWeta1c_Photon(0),
50 m_cutPositionClusterStripsDEmaxs1_Photon(0),
52 m_cutPositionTrackMatchEoverP_Photon(0),
54 m_cutPositionAmbiguityResolution_Photon(0),
56 m_cutPositionIsolation_Photon(0),
58 m_cutPositionClusterIsolation_Photon(0),
60 m_cutPositionTrackIsolation_Photon(0),
62 m_cutNameClusterEtaRange_Photon(
"ClusterEtaRange_Photon"),
64 m_cutNameClusterBackEnergyFraction_Photon(
"ClusterBackEnergyFraction_Photon"),
66 m_cutNameClusterHadronicLeakage_Photon(
"ClusterHadronicLeakage_Photon"),
68 m_cutNameClusterMiddleEnergy_Photon(
"ClusterMiddleEnergy_Photon"),
70 m_cutNameClusterMiddleEratio37_Photon(
"ClusterMiddleEratio37_Photon"),
72 m_cutNameClusterMiddleEratio33_Photon(
"ClusterMiddleEratio33_Photon"),
74 m_cutNameClusterMiddleWidth_Photon(
"ClusterMiddleWidth_Photon"),
76 m_cutNameClusterStripsEratio_Photon(
"ClusterStripsEratio_Photon"),
78 m_cutNameClusterStripsDeltaE_Photon(
"ClusterStripsDeltaE_Photon"),
80 m_cutNameClusterStripsWtot_Photon(
"ClusterStripsWtot_Photon"),
82 m_cutNameClusterStripsFracm_Photon(
"ClusterStripsFracm_Photon"),
84 m_cutNameClusterStripsWeta1c_Photon(
"ClusterStripsWeta1c_Photon"),
86 m_cutNameClusterStripsDEmaxs1_Photon(
"ClusterStripsDEmaxs1_Photon"),
88 m_cutNameTrackMatchEoverP_Photon(
"TrackMatchEoverP_Photon"),
90 m_cutNameAmbiguityResolution_Photon(
"AmbiguityResolution_Photon"),
92 m_cutNameIsolation_Photon(
"Isolation_Photon"),
94 m_cutNameClusterIsolation_Photon(
"ClusterIsolation_Photon"),
96 m_cutNameTrackIsolation_Photon(
"TrackIsolation_Photon") {
131 m_cutPositionClusterEtaRange_Photon =
132 m_acceptInfo.addCut(m_cutNameClusterEtaRange_Photon,
"Photon within eta range");
133 if (m_cutPositionClusterEtaRange_Photon < 0)
sc = StatusCode::FAILURE;
135 int voidcutpos = m_acceptInfo.addCut(
"VOID1",
"No Cut");
136 if (voidcutpos < 0)
sc = StatusCode::FAILURE;
138 voidcutpos = m_acceptInfo.addCut(
"VOID2",
"No Cut");
139 if (voidcutpos < 0)
sc = StatusCode::FAILURE;
141 voidcutpos = m_acceptInfo.addCut(
"VOID3",
"No Cut");
142 if (voidcutpos < 0)
sc = StatusCode::FAILURE;
144 voidcutpos = m_acceptInfo.addCut(
"VOID4",
"No Cut");
145 if (voidcutpos < 0)
sc = StatusCode::FAILURE;
147 voidcutpos = m_acceptInfo.addCut(
"VOID5",
"No Cut");
148 if (voidcutpos < 0)
sc = StatusCode::FAILURE;
150 voidcutpos = m_acceptInfo.addCut(
"VOID6",
"No Cut");
151 if (voidcutpos < 0)
sc = StatusCode::FAILURE;
154 m_cutPositionClusterBackEnergyFraction_Photon =
155 m_acceptInfo.addCut(m_cutNameClusterBackEnergyFraction_Photon,
"f3 < Cut");
156 if (m_cutPositionClusterBackEnergyFraction_Photon < 0)
sc = StatusCode::FAILURE;
158 voidcutpos = m_acceptInfo.addCut(
"VOID7",
"No Cut");
159 if (voidcutpos < 0)
sc = StatusCode::FAILURE;
161 voidcutpos = m_acceptInfo.addCut(
"VOID8",
"No Cut");
162 if (voidcutpos < 0)
sc = StatusCode::FAILURE;
165 m_cutPositionClusterHadronicLeakage_Photon =
166 m_acceptInfo.addCut(m_cutNameClusterHadronicLeakage_Photon,
"Had leakage < Cut");
167 if (m_cutPositionClusterHadronicLeakage_Photon < 0)
sc = StatusCode::FAILURE;
170 m_cutPositionClusterMiddleEnergy_Photon =
171 m_acceptInfo.addCut(m_cutNameClusterMiddleEnergy_Photon,
"Energy in second sampling (E277) > Cut");
172 if (m_cutPositionClusterMiddleEnergy_Photon < 0)
sc = StatusCode::FAILURE;
175 m_cutPositionClusterMiddleEratio37_Photon =
176 m_acceptInfo.addCut(m_cutNameClusterMiddleEratio37_Photon,
"E237/E277 > Cut");
177 if (m_cutPositionClusterMiddleEratio37_Photon < 0)
sc = StatusCode::FAILURE;
180 m_cutPositionClusterMiddleEratio33_Photon =
181 m_acceptInfo.addCut(m_cutNameClusterMiddleEratio33_Photon,
"E233/E237 > Cut");
182 if (m_cutPositionClusterMiddleEratio33_Photon < 0)
sc = StatusCode::FAILURE;
185 m_cutPositionClusterMiddleWidth_Photon =
186 m_acceptInfo.addCut(m_cutNameClusterMiddleWidth_Photon,
"Weta2 < Cut");
187 if (m_cutPositionClusterMiddleWidth_Photon < 0)
sc = StatusCode::FAILURE;
190 m_cutPositionClusterStripsEratio_Photon =
191 m_acceptInfo.addCut(m_cutNameClusterStripsEratio_Photon,
"f1 > Cut");
192 if (m_cutPositionClusterStripsEratio_Photon < 0)
sc = StatusCode::FAILURE;
194 voidcutpos = m_acceptInfo.addCut(
"VOID9",
"No Cut");
195 if (voidcutpos < 0)
sc = StatusCode::FAILURE;
198 m_cutPositionClusterStripsDeltaE_Photon =
199 m_acceptInfo.addCut(m_cutNameClusterStripsDeltaE_Photon,
200 "difference between 2nd maximum and 1st minimum in strips < Cut");
201 if (m_cutPositionClusterStripsDeltaE_Photon < 0)
sc = StatusCode::FAILURE;
204 m_cutPositionClusterStripsWtot_Photon =
205 m_acceptInfo.addCut(m_cutNameClusterStripsWtot_Photon,
"Wtot < Cut");
206 if (m_cutPositionClusterStripsWtot_Photon < 0)
sc = StatusCode::FAILURE;
209 m_cutPositionClusterStripsFracm_Photon =
210 m_acceptInfo.addCut(m_cutNameClusterStripsFracm_Photon,
"Fracm < Cut");
211 if (m_cutPositionClusterStripsFracm_Photon < 0)
sc = StatusCode::FAILURE;
214 m_cutPositionClusterStripsWeta1c_Photon =
215 m_acceptInfo.addCut(m_cutNameClusterStripsWeta1c_Photon,
"Weta1c < Cut");
216 if (m_cutPositionClusterStripsWeta1c_Photon < 0)
sc = StatusCode::FAILURE;
219 m_cutPositionClusterStripsDEmaxs1_Photon =
220 m_acceptInfo.addCut(m_cutNameClusterStripsDEmaxs1_Photon,
221 "difference between max and 2nd max in strips > Cut");
222 if (m_cutPositionClusterStripsDEmaxs1_Photon < 0)
sc = StatusCode::FAILURE;
225 m_cutPositionTrackMatchEoverP_Photon =
226 m_acceptInfo.addCut(m_cutNameTrackMatchEoverP_Photon,
"E/p within allowed range (conversions only)");
227 if (m_cutPositionTrackMatchEoverP_Photon < 0)
sc = StatusCode::FAILURE;
230 m_cutPositionAmbiguityResolution_Photon =
231 m_acceptInfo.addCut(m_cutNameAmbiguityResolution_Photon,
232 "Passes tighter ambiguity resolution vs electron");
233 if (m_cutPositionAmbiguityResolution_Photon < 0)
sc = StatusCode::FAILURE;
235 voidcutpos = m_acceptInfo.addCut(
"VOID10",
"No Cut");
236 if (voidcutpos < 0)
sc = StatusCode::FAILURE;
238 voidcutpos = m_acceptInfo.addCut(
"VOID11",
"No Cut");
239 if (voidcutpos < 0)
sc = StatusCode::FAILURE;
241 voidcutpos = m_acceptInfo.addCut(
"VOID12",
"No Cut");
242 if (voidcutpos < 0)
sc = StatusCode::FAILURE;
244 voidcutpos = m_acceptInfo.addCut(
"VOID13",
"No Cut");
245 if (voidcutpos < 0)
sc = StatusCode::FAILURE;
247 voidcutpos = m_acceptInfo.addCut(
"VOID14",
"No Cut");
248 if (voidcutpos < 0)
sc = StatusCode::FAILURE;
251 m_cutPositionIsolation_Photon =
252 m_acceptInfo.addCut(m_cutNameIsolation_Photon,
"Track and calorimetric isolation");
253 if (m_cutPositionIsolation_Photon < 0)
sc = StatusCode::FAILURE;
256 m_cutPositionClusterIsolation_Photon =
257 m_acceptInfo.addCut(m_cutNameClusterIsolation_Photon,
"calorimetric isolation only");
258 if (m_cutPositionClusterIsolation_Photon < 0)
sc = StatusCode::FAILURE;
261 m_cutPositionTrackIsolation_Photon =
262 m_acceptInfo.addCut(m_cutNameTrackIsolation_Photon,
"track isolation only");
263 if (m_cutPositionTrackIsolation_Photon < 0)
sc = StatusCode::FAILURE;
265 if (
sc == StatusCode::FAILURE) {
266 ATH_MSG_ERROR(
"Exceeded the number of allowed cuts in TPhotonIsEMSelector");
274 for (
int i = 0;
i < 32;
i++) {
275 const unsigned int mask = (0x1
u <<
i) & m_isEMMask;
329 unsigned int isEM = calcIsEm(
eta2,
348 return fillAccept(isEM);
392 unsigned int iflag = 0;
395 if (m_forceConvertedPhotonPID) {
397 iflag = calocuts_photonsConverted(
eta2,
416 }
else if (m_forceNonConvertedPhotonPID || !isConversion) {
417 iflag = calocuts_photonsNonConverted(
eta2,
435 iflag = calocuts_photonsConverted(
eta2,
499 if ((m_e277_photonsNonConverted.empty())) {
502 if (!m_e277_photonsNonConverted.empty() &&
e277 >= m_e277_photonsNonConverted[0]) {
505 for (
unsigned int ibe = 1; ibe <= m_cutBinEnergy_photonsNonConverted.size();
507 if (ibe < m_cutBinEnergy_photonsNonConverted.size()) {
508 if (
et >= m_cutBinEnergy_photonsNonConverted[ibe - 1] &&
509 et < m_cutBinEnergy_photonsNonConverted[ibe]) {
512 }
else if (ibe == m_cutBinEnergy_photonsNonConverted.size()) {
513 if (
et >= m_cutBinEnergy_photonsNonConverted[ibe - 1]) {
521 for (
unsigned int ibin = 0; ibin < m_cutBinEta_photonsNonConverted.size();
524 if (
eta2 < m_cutBinEta_photonsNonConverted[0]) {
528 if (
eta2 >= m_cutBinEta_photonsNonConverted[ibin - 1] &&
529 eta2 < m_cutBinEta_photonsNonConverted[ibin]) {
544 for (
unsigned int ibin=1; ibin <= m_cutBinMu_photonsNonConverted.size();
546 if ( ibin < m_cutBinMu_photonsNonConverted.size() ) {
547 if (
mu >= m_cutBinMu_photonsNonConverted[ibin-1] &&
548 mu < m_cutBinMu_photonsNonConverted[ibin] ) {
552 else if ( ibin == m_cutBinMu_photonsNonConverted.size() ) {
553 if (
mu >= m_cutBinMu_photonsNonConverted[ibin-1] ) {
561 const int ibin_combined
562 = ibinMu * ( m_cutBinEta_photonsNonConverted.size() *
563 ( m_cutBinEnergy_photonsNonConverted.size()+1) )
564 + ibine * m_cutBinEta_photonsNonConverted.size()
568 if (checkVar(m_cutHadLeakage_photonsNonConverted, 23)) {
570 if (
Rhad1 > m_cutHadLeakage_photonsNonConverted[ibin_combined])
572 }
else if (
eta2 >= 0.8 &&
eta2 < 1.37) {
573 if (
Rhad > m_cutHadLeakage_photonsNonConverted[ibin_combined])
576 if (
Rhad1 > m_cutHadLeakage_photonsNonConverted[ibin_combined])
582 if (checkVar(m_cutF3_photonsNonConverted, 23)) {
583 if (
f3 > m_cutF3_photonsNonConverted[ibin_combined]) {
589 if (checkVar(m_Reta37_photonsNonConverted, 23)) {
590 if (
Reta < m_Reta37_photonsNonConverted[ibin_combined]) {
596 if (checkVar(m_Rphi33_photonsNonConverted, 23)) {
597 if (
Rphi < m_Rphi33_photonsNonConverted[ibin_combined]) {
603 if (checkVar(m_weta2_photonsNonConverted, 23)) {
604 if (weta2c > m_weta2_photonsNonConverted[ibin_combined]) {
615 if (!m_cutBinEtaStrips_photonsNonConverted.empty()) {
619 for (
unsigned int ibe = 1; ibe <= m_cutBinEnergyStrips_photonsNonConverted.size(); ibe++) {
620 if (ibe < m_cutBinEnergyStrips_photonsNonConverted.size()) {
621 if (
et >= m_cutBinEnergyStrips_photonsNonConverted[ibe - 1] &&
622 et < m_cutBinEnergyStrips_photonsNonConverted[ibe]) {
625 }
else if (ibe == m_cutBinEnergyStrips_photonsNonConverted.size()) {
626 if (
et >= m_cutBinEnergyStrips_photonsNonConverted[ibe - 1]) {
632 int ibinEtaStrips = -1;
634 for (
unsigned int ibin = 0; ibin < m_cutBinEtaStrips_photonsNonConverted.size(); ibin++) {
636 if (
eta2 < m_cutBinEtaStrips_photonsNonConverted[0]) {
640 if (
eta2 >= m_cutBinEtaStrips_photonsNonConverted[ibin - 1] &&
641 eta2 < m_cutBinEtaStrips_photonsNonConverted[ibin]) {
642 ibinEtaStrips = ibin;
649 if (ibinEtaStrips < 0) {
654 int ibinMuStrips = 0;
656 for (
unsigned int ibmu=1;
657 ibmu <= m_cutBinMuStrips_photonsNonConverted.size(); ibmu++) {
658 if ( ibmu <m_cutBinMuStrips_photonsNonConverted.size() ) {
659 if (
mu >= m_cutBinMuStrips_photonsNonConverted[ibmu-1] &&
660 mu < m_cutBinMuStrips_photonsNonConverted[ibmu] ) {
664 else if ( ibmu == m_cutBinMuStrips_photonsNonConverted.size() ) {
665 if (
mu >= m_cutBinMuStrips_photonsNonConverted[ibmu-1] ) {
672 const int ibin_combinedStrips
673 = ibinMuStrips * m_cutBinEtaStrips_photonsNonConverted.size()
674 * ( m_cutBinEnergyStrips_photonsNonConverted.size()+1 )
675 + ibineStrips * m_cutBinEtaStrips_photonsNonConverted.size()
678 if (checkVar(m_f1_photonsNonConverted, 0)) {
679 if (
f1 < m_f1_photonsNonConverted[0]) {
685 if (checkVar(m_deltae_photonsNonConverted, 26)) {
686 if (
DeltaE > m_deltae_photonsNonConverted[ibin_combinedStrips]) {
692 if (checkVar(m_DEmaxs1_photonsNonConverted, 26)) {
693 if (
Eratio <= m_DEmaxs1_photonsNonConverted[ibin_combinedStrips])
698 if (checkVar(m_wtot_photonsNonConverted, 26)) {
699 if (wtot > m_wtot_photonsNonConverted[ibin_combinedStrips]) {
705 if (checkVar(m_fracm_photonsNonConverted, 26)) {
706 if (fracm > m_fracm_photonsNonConverted[ibin_combinedStrips]) {
712 if (checkVar(m_w1_photonsNonConverted, 26)) {
713 if (weta1c > m_w1_photonsNonConverted[ibin_combinedStrips]) {
764 for (
unsigned int ibe = 1; ibe <= m_cutBinEnergy_photonsConverted.size(); ibe++) {
765 if (ibe < m_cutBinEnergy_photonsConverted.size()) {
766 if (
et >= m_cutBinEnergy_photonsConverted[ibe - 1] &&
767 et < m_cutBinEnergy_photonsConverted[ibe]) {
770 }
else if (ibe == m_cutBinEnergy_photonsConverted.size()) {
771 if (
et >= m_cutBinEnergy_photonsConverted[ibe - 1]) {
779 for (
unsigned int ibin = 0; ibin < m_cutBinEta_photonsConverted.size(); ibin++) {
781 if (
eta2 < m_cutBinEta_photonsConverted[0]) {
785 if (
eta2 >= m_cutBinEta_photonsConverted[ibin - 1] &&
786 eta2 < m_cutBinEta_photonsConverted[ibin]) {
800 for (
unsigned int ibin=1; ibin <= m_cutBinMu_photonsConverted.size(); ibin++) {
801 if ( ibin < m_cutBinMu_photonsConverted.size() ) {
802 if (
mu >= m_cutBinMu_photonsConverted[ibin-1] &&
803 mu < m_cutBinMu_photonsConverted[ibin] ) {
807 else if ( ibin == m_cutBinMu_photonsConverted.size() ) {
808 if (
mu >= m_cutBinMu_photonsConverted[ibin-1] ) {
816 const int ibin_combined
817 = ibinMu * ( m_cutBinEta_photonsConverted.size() *
818 ( m_cutBinEnergy_photonsConverted.size()+1 ) )
819 + ibine * m_cutBinEta_photonsConverted.size()
825 if ((m_e277_photonsConverted.empty())) {
828 if (!m_e277_photonsConverted.empty() &&
e277 >= m_e277_photonsConverted[0]) {
831 if (checkVar(m_cutHadLeakage_photonsConverted, 13)) {
833 if (
Rhad1 > m_cutHadLeakage_photonsConverted[ibin_combined])
835 }
else if (
eta2 >= 0.8 &&
eta2 < 1.37) {
836 if (
Rhad > m_cutHadLeakage_photonsConverted[ibin_combined])
839 if (
Rhad1 > m_cutHadLeakage_photonsConverted[ibin_combined])
845 if (checkVar(m_cutF3_photonsConverted, 13)) {
846 if (
f3 > m_cutF3_photonsConverted[ibin_combined]) {
852 if (checkVar(m_Reta37_photonsConverted, 13)) {
853 if (
Reta < m_Reta37_photonsConverted[ibin_combined]) {
859 if (checkVar(m_Rphi33_photonsConverted, 13)) {
860 if (
Rphi < m_Rphi33_photonsConverted[ibin_combined]) {
866 if (checkVar(m_weta2_photonsConverted, 13)) {
867 if (weta2c > m_weta2_photonsConverted[ibin_combined]) {
878 if (!m_cutBinEtaStrips_photonsConverted.empty()) {
882 for (
unsigned int ibe = 1; ibe <= m_cutBinEnergyStrips_photonsConverted.size(); ibe++) {
883 if (ibe < m_cutBinEnergyStrips_photonsConverted.size()) {
884 if (
et >= m_cutBinEnergyStrips_photonsConverted[ibe - 1] &&
885 et < m_cutBinEnergyStrips_photonsConverted[ibe]) {
888 }
else if (ibe == m_cutBinEnergyStrips_photonsConverted.size()) {
889 if (
et >= m_cutBinEnergyStrips_photonsConverted[ibe - 1]) {
895 int ibinEtaStrips = -1;
897 for (
unsigned int ibin = 0; ibin < m_cutBinEtaStrips_photonsConverted.size(); ibin++) {
899 if (
eta2 < m_cutBinEtaStrips_photonsConverted[0]) {
903 if (
eta2 >= m_cutBinEtaStrips_photonsConverted[ibin - 1] &&
904 eta2 < m_cutBinEtaStrips_photonsConverted[ibin]) {
905 ibinEtaStrips = ibin;
910 int ibinMuStrips = 0;
912 for (
unsigned int ibmu=1;
913 ibmu <= m_cutBinMuStrips_photonsConverted.size(); ibmu++) {
914 if ( ibmu <m_cutBinMuStrips_photonsConverted.size() ) {
915 if (
mu >= m_cutBinMuStrips_photonsConverted[ibmu-1] &&
916 mu < m_cutBinMuStrips_photonsConverted[ibmu] ) {
920 else if ( ibmu == m_cutBinMuStrips_photonsConverted.size() ) {
921 if (
mu >= m_cutBinMuStrips_photonsConverted[ibmu-1] ) {
928 if (ibinEtaStrips == -1) {
934 const int ibin_combinedStrips
935 = ibinMuStrips * m_cutBinEtaStrips_photonsNonConverted.size()
936 * ( m_cutBinEnergyStrips_photonsNonConverted.size()+1 )
937 + ibineStrips * m_cutBinEtaStrips_photonsNonConverted.size()
940 if (checkVar(m_f1_photonsConverted, 0)) {
941 if (
f1 < m_f1_photonsConverted[0]) {
947 if (checkVar(m_deltae_photonsConverted, 16)) {
948 if (
DeltaE > m_deltae_photonsConverted[ibin_combinedStrips]) {
954 if (checkVar(m_DEmaxs1_photonsConverted, 16)) {
955 if (
Eratio <= m_DEmaxs1_photonsConverted[ibin_combinedStrips])
960 if (checkVar(m_wtot_photonsConverted, 16)) {
961 if (wtot > m_wtot_photonsConverted[ibin_combinedStrips]) {
967 if (checkVar(m_fracm_photonsConverted, 16)) {
968 if (fracm > m_fracm_photonsConverted[ibin_combinedStrips]) {
974 if (checkVar(m_w1_photonsConverted, 16)) {
975 if (weta1c > m_w1_photonsConverted[ibin_combinedStrips]) {
983 if (checkVar(m_cutminEp_photonsConverted, 13) &&
984 checkVar(m_cutmaxEp_photonsConverted, 13)) {
985 if (ep < m_cutminEp_photonsConverted[ibin_combined] ||
986 ep > m_cutmaxEp_photonsConverted[ibin_combined])
1012 template<
typename T>
1017 const unsigned int etaNB_photonsConv = m_cutBinEta_photonsConverted.size();
1018 const unsigned int etNB_photonsConv = m_cutBinEnergy_photonsConverted.size();
1019 const unsigned int muNB_photonsConv = m_cutBinMu_photonsConverted.size();
1020 const unsigned int etaStripsNB_photonsConv = m_cutBinEtaStrips_photonsConverted.size();
1021 const unsigned int etStripsNB_photonsConv = m_cutBinEnergyStrips_photonsConverted.size();
1022 const unsigned int muStripsNB_photonsConv = m_cutBinMuStrips_photonsConverted.size();
1023 const unsigned int etaNB_photonsNonConv = m_cutBinEta_photonsNonConverted.size();
1024 const unsigned int etNB_photonsNonConv = m_cutBinEnergy_photonsNonConverted.size();
1025 const unsigned int muNB_photonsNonConv = m_cutBinMu_photonsNonConverted.size();
1026 const unsigned int etaStripsNB_photonsNonConv = m_cutBinEtaStrips_photonsNonConverted.size();
1027 const unsigned int etStripsNB_photonsNonConv = m_cutBinEnergyStrips_photonsNonConverted.size();
1028 const unsigned int muStripsNB_photonsNonConv = m_cutBinMuStrips_photonsNonConverted.size();
1030 unsigned int combinedStripsNB_photonsConv = etaStripsNB_photonsConv;
1031 unsigned int combinedStripsNB_photonsNonConv = etaStripsNB_photonsNonConv;
1032 unsigned int combinedNB_photonsNonConv = etaNB_photonsNonConv;
1033 unsigned int combinedNB_photonsConv = etaNB_photonsConv;
1036 if (etStripsNB_photonsNonConv > 0)
1037 combinedStripsNB_photonsNonConv = etaStripsNB_photonsNonConv * (etStripsNB_photonsNonConv + 1);
1039 if (etNB_photonsConv > 0)
1040 combinedNB_photonsConv = etaNB_photonsConv * (etNB_photonsConv + 1);
1042 if (etStripsNB_photonsConv > 0)
1043 combinedStripsNB_photonsConv = etaStripsNB_photonsConv * (etStripsNB_photonsConv + 1);
1045 if (etNB_photonsNonConv > 0)
1046 combinedNB_photonsNonConv = etaNB_photonsNonConv * (etNB_photonsNonConv + 1);
1049 if (muStripsNB_photonsNonConv > 0)
1050 combinedStripsNB_photonsNonConv *= (muStripsNB_photonsNonConv + 1);
1052 if (muNB_photonsConv > 0)
1053 combinedNB_photonsConv *= (muNB_photonsConv + 1);
1055 if (muStripsNB_photonsConv > 0)
1056 combinedStripsNB_photonsConv *= (muStripsNB_photonsConv + 1);
1058 if (muNB_photonsNonConv > 0)
1059 combinedNB_photonsNonConv *= (muNB_photonsNonConv + 1);
1062 if (
vec.empty())
return false;
1065 if (
vec.size() != 1) {
1067 <<
vec.size() <<
" but needs 1");
1075 if (
vec.size() != etaNB_photonsConv) {
1077 <<
vec.size() <<
" but needs etaNB_photonsConv "
1078 << etaNB_photonsConv);
1086 if (
vec.size() != etNB_photonsConv) {
1088 <<
vec.size() <<
" but needs etNB_photonsConv="
1089 << etNB_photonsConv);
1096 if (
vec.size() != combinedNB_photonsConv) {
1098 <<
vec.size() <<
" but needs combinedNB_photonsConv="
1099 << combinedNB_photonsConv);
1106 if (
vec.size() != etaStripsNB_photonsConv) {
1108 <<
vec.size() <<
" but needs etaStripsNB_photonsConv="
1109 << etaStripsNB_photonsConv);
1116 if (
vec.size() != etStripsNB_photonsConv) {
1118 <<
vec.size() <<
" but needs etStripsNB_photonsConv="
1119 << etStripsNB_photonsConv);
1126 if (
vec.size() != combinedStripsNB_photonsConv) {
1128 <<
vec.size() <<
" but needs combinedStripsNB_photonsConv="
1129 << combinedStripsNB_photonsConv);
1136 if (
vec.size() != etaNB_photonsNonConv) {
1138 <<
vec.size() <<
" but needs etaNB_photonsNonConv "
1139 << etaNB_photonsNonConv);
1146 if (
vec.size() != etNB_photonsNonConv) {
1148 <<
vec.size() <<
" but needs etNB_photonsNonConv="
1149 << etNB_photonsNonConv);
1156 if (
vec.size() != combinedNB_photonsNonConv) {
1158 <<
vec.size() <<
" but needs combinedNB_photonsNonConv="
1159 << combinedNB_photonsNonConv);
1166 if (
vec.size() != etaStripsNB_photonsNonConv) {
1168 <<
vec.size() <<
" but needs etaStripsNB_photonsNonConv="
1169 << etaStripsNB_photonsNonConv);
1176 if (
vec.size() != etStripsNB_photonsNonConv) {
1178 <<
vec.size() <<
" but needs etStripsNB_photonsNonConv="
1179 << etStripsNB_photonsNonConv);
1186 if (
vec.size() != combinedStripsNB_photonsNonConv) {
1188 <<
vec.size() <<
" but needs combinedStripsNB_photonsNonConv="
1189 << combinedStripsNB_photonsNonConv);
1199 template bool Root::TPhotonIsEMSelector::checkVar<float>(
const std::vector<float> &
vec,
int choice)
const;
1201 template bool Root::TPhotonIsEMSelector::checkVar<int>(
const std::vector<int> &
vec,
int choice)
const;