User will overwrite this function. Histogram booking is no longer done in C++. This function is called in execute once the filters are all passed.
761 return StatusCode::FAILURE;
768 return StatusCode::SUCCESS;
775 const bool expressPass =
passBits & TrigDefs::Express_passed;
778 return StatusCode::SUCCESS;
786 return StatusCode::SUCCESS;
796 double primaryVertexZ = (primVertex!=
nullptr)?(primVertex->
z()):(-999);
812 std::map<const xAOD::MuonRoI*,std::set<std::string>> roiAndMenu;
813 std::map<std::string,std::vector<const xAOD::MuonRoI*>> menuAndRoIs;
818 std::vector < const xAOD::Muon* > oflmuons;
819 std::set < const xAOD::Muon* > biasedMuons;
820 std::vector < TimedMuon > mymuons;
821 std::map < std::string, std::vector< ExtPos > > extpositions;
822 std::vector< ExtPos > extpositions_pivot;
823 std::vector<double> deltaR_muons;
824 std::vector<double> deltaR_muons_roi;
825 std::vector<double> deltaR_muons_hlt;
826 std::vector<double> muon2pv_dz;
827 std::vector<double> muon2pv_dca;
828 std::vector<double> mymuon2pv_dz;
829 std::vector<double> mymuon2pv_dca;
832 if (!muons.isValid()) {
834 return StatusCode::SUCCESS;
837 for (
const auto muon : *muons) {
839 if (
muon ==
nullptr)
continue;
841 if (
muon->pt() < 1000.)
continue;
844 if (
muon->muonType() > xAOD::Muon::MuonType::MuonStandAlone )
continue;
846 oflmuons.push_back(
muon);
848 double dz=-999,dca=-999;
854 if(primVertex==
nullptr)
continue;
855 auto trackParticle =
muon->primaryTrackParticle();
856 if(trackParticle!=
nullptr){
857 dz = trackParticle->z0() - primVertex->
z();
858 dca = trackParticle->d0();
860 muon2pv_dz.push_back(dz);
861 muon2pv_dca.push_back(dca);
867 bool isolated =
true;
873 for(
const auto muon2 : *muons){
875 if (muon2 ==
nullptr)
continue;
878 if(
muon == muon2 )
continue;
881 if( muon2->pt() < 1000. )
continue;
885 if ( muon2->muonType() > xAOD::Muon::MuonType::MuonStandAlone )
continue;
889 ( (std::abs(
muon->eta()) < barrel_end && std::abs(muon2->eta()) < barrel_end) ||
890 (std::abs(
muon->eta()) > barrel_end && std::abs(muon2->eta()) > barrel_end) ) )
continue;
894 deltaR_muons.push_back(dr_muons);
905 for (
const auto &trigName : list_of_single_muon_triggers) {
908 const bool expressPass =
passBits & TrigDefs::Express_passed;
909 if(!expressPass)
continue;
913 ATH_MSG_DEBUG(
"This muon trigger, " << trigName <<
", is fired in this event!!");
918 for(
const auto& comb : fc.getCombinations()){
919 if(!comb.active())
continue;
921 for(
const auto& mucont : MuFeatureContainers){
922 if(mucont.empty())
continue;
923 if(mucont.te()==
nullptr)
continue;
924 if(!mucont.te()->getActiveState())
continue;
925 for(
const auto hltmu : *mucont.cptr()){
926 if (hltmu ==
nullptr)
continue;
927 if (hltmu->pt() < 1000.)
continue;
929 deltaR_muons_hlt.push_back(
dr);
933 biasedMuons.insert(muon2);
941 for (
const auto& aaa : features) {
942 if (!aaa.isValid())
continue;
943 auto hltmu_link = aaa.link;
944 if (!hltmu_link.isValid())
continue;
945 auto hltmu = *hltmu_link;
946 if (hltmu ==
nullptr)
continue;
947 if (hltmu->pt() < 1000.)
continue;
949 deltaR_muons_hlt.push_back(
dr);
953 biasedMuons.insert(muon2);
959 if(!probeOK)
continue;
963 double m2 = 2. *
muon->pt() * muon2->pt() * ( std::cosh(
muon->eta() - muon2->eta()) -
std::cos(
muon->phi() - muon2->phi()) );
964 double m = (
m2>0.) ? ( std::sqrt(
m2) ) : (0.);
965 double mdiff = std::abs(
m -
m_zMass );
969 ATH_MSG_DEBUG(
"Final condition of probleOK for this muon is: " << probeOK);
975 if(!probeOK)
continue;
981 if ( std::abs(
muon->eta()) > 0.5
984 if(
muon->eta()<0 &&
z>0 )
continue;
985 if(
muon->eta()>0 &&
z<0 )
continue;
986 xAOD::Muon::TrackParticleType trkPtclType;
994 if(trackParticle==
nullptr)
continue;
995 auto matrix = std::make_unique<Amg::Transform3D>();
998 auto disc = std::make_unique < Trk::DiscSurface > (*
matrix,
1003 trackParticle->perigeeParameters(),
1008 if(extTrkParams !=
nullptr){
1009 if( std::abs(extTrkParams->position().z() -
z) > 10. )
continue;
1012 ext.extPos = extTrkParams->position();
1013 ext.extVec = extTrkParams->momentum();
1014 Amg::Vector3D extVec(extTrkParams->position().x(),extTrkParams->position().y(),
z);
1017 if( std::abs( std::abs(
z) -
m_M3_Z ) < 10. &&
1018 std::abs(
muon->eta() ) > 1.05 &&
1019 std::abs(
muon->eta() ) < 2.40){
1020 extpositions_pivot.push_back(
ext);
1022 for(
const auto& cham :
ext.passedChambers){
1023 extpositions[cham].push_back(
ext);
1029 mymuon.matchedL1Charge=
false;
1030 mymuon.passBW3Coin=
false;
1031 mymuon.passInnerCoin=
false;
1032 mymuon.passGoodMF=
false;
1033 mymuon.passIsMoreCandInRoI=
false;
1035 if (AllBCMuonRoIs.size()==0) {
1036 ATH_MSG_DEBUG(
"No RoI matching possible as no container has been retrieved");
1037 mymuons.push_back(mymuon);
1040 for(
const auto& allBcMuonRoI : AllBCMuonRoIs){
1043 deltaR_muons_roi.push_back(
dr);
1045 if(roiAndMenu.count(roi)>0)mymuon.matchedL1Items.insert( roiAndMenu[roi].
begin(), roiAndMenu[roi].
end() );
1046 mymuon.matchedL1ThrExclusive.insert( roi->
getThrNumber() );
1056 for (
int ithr = 1; ithr <= 15 ; ++ithr) {
1057 for (
const auto &thr : mymuon.matchedL1ThrExclusive) {
1059 mymuon.matchedL1ThrInclusive.insert(ithr);
1063 for (
const auto &thr : mymuon.matchedL1ThrExclusiveTGC) {
1065 mymuon.matchedL1ThrInclusiveTGC.insert(ithr);
1071 mymuons.push_back(mymuon);
1072 mymuon2pv_dz.push_back(dz);
1073 mymuon2pv_dca.push_back(dca);
1088 auto oflmuon_probe_muonType=
Monitored::Collection(
"oflmuon_probe_muonType",mymuons,[](
const TimedMuon&
m){
return m.muon->muonType();});
1089 auto oflmuon_probe_author=
Monitored::Collection(
"oflmuon_probe_author",mymuons,[](
const TimedMuon&
m){
return m.muon->author();});
1090 auto oflmuon_probe_quality=
Monitored::Collection(
"oflmuon_probe_quality",mymuons,[](
const TimedMuon&
m){
return m.muon->quality();});
1092 auto oflmuon_probe_eta=
Monitored::Collection(
"oflmuon_probe_eta",mymuons,[](
const TimedMuon&
m){
return m.muon->eta();});
1093 auto oflmuon_probe_phi=
Monitored::Collection(
"oflmuon_probe_phi",mymuons,[](
const TimedMuon&
m){
return m.muon->phi();});
1103 oflmuon_num,oflmuon_muonType,oflmuon_author,oflmuon_quality,oflmuon_pt,oflmuon_eta,oflmuon_phi,oflmuon_pvdz,oflmuon_pvdca,
1104 oflmuon_probe_num,oflmuon_probe_muonType,oflmuon_probe_author,oflmuon_probe_quality,oflmuon_probe_pt,oflmuon_probe_eta,oflmuon_probe_phi,oflmuon_probe_pvdz,oflmuon_probe_pvdca,
1105 oflmuon_deltaR, oflmuon_deltaR_roi, oflmuon_deltaR_hlt
1111 oflmuon_variables.push_back(oflmuon_num);
1112 oflmuon_variables.push_back(oflmuon_muonType);
1113 oflmuon_variables.push_back(oflmuon_author);
1114 oflmuon_variables.push_back(oflmuon_quality);
1115 oflmuon_variables.push_back(oflmuon_pt);
1116 oflmuon_variables.push_back(oflmuon_eta);
1117 oflmuon_variables.push_back(oflmuon_phi);
1121 return m.muon->charge();
1123 oflmuon_variables.push_back(muon_charge);
1125 return (
m.muon->charge()>0);
1127 oflmuon_variables.push_back(muon_chargePos);
1129 return (
m.muon->charge()<0);
1131 oflmuon_variables.push_back(muon_chargeNeg);
1133 return (
m.muon->pt()>pt_4_cut)?
m.muon->eta():-10;
1135 oflmuon_variables.push_back(muon_eta4gev);
1137 return (
m.muon->pt()>pt_4_cut)?
m.muon->phi():-10;
1139 oflmuon_variables.push_back(muon_phi4gev);
1140 auto muon_phi4gev_1p05eta1p3 =
Monitored::Collection(
"muon_phi4gev_1p05eta1p3",mymuons,[](
const TimedMuon&
m){
1141 return (
m.muon->pt()>pt_4_cut && std::abs(
m.muon->eta())>barrel_end && std::abs(
m.muon->eta())<eifi_boundary)?
m.muon->phi():-10;
1143 oflmuon_variables.push_back(muon_phi4gev_1p05eta1p3);
1144 auto muon_phi4gev_1p05eta1p3A =
Monitored::Collection(
"muon_phi4gev_1p05eta1p3A",mymuons,[](
const TimedMuon&
m){
1145 return (
m.muon->pt()>pt_4_cut && std::abs(
m.muon->eta())>barrel_end && std::abs(
m.muon->eta())<eifi_boundary &&
m.muon->eta()>0)?
m.muon->phi():-10;
1147 oflmuon_variables.push_back(muon_phi4gev_1p05eta1p3A);
1148 auto muon_phi4gev_1p05eta1p3C =
Monitored::Collection(
"muon_phi4gev_1p05eta1p3C",mymuons,[](
const TimedMuon&
m){
1149 return (
m.muon->pt()>pt_4_cut && std::abs(
m.muon->eta())>barrel_end && std::abs(
m.muon->eta())<eifi_boundary &&
m.muon->eta()<0)?
m.muon->phi():-10;
1151 oflmuon_variables.push_back(muon_phi4gev_1p05eta1p3C);
1152 auto muon_phi4gev_1p3eta2p4 =
Monitored::Collection(
"muon_phi4gev_1p3eta2p4",mymuons,[](
const TimedMuon&
m){
1153 return (
m.muon->pt()>pt_4_cut && std::abs(
m.muon->eta())>eifi_boundary && std::abs(
m.muon->eta())<trigger_end)?
m.muon->phi():-10;
1155 oflmuon_variables.push_back(muon_phi4gev_1p3eta2p4);
1156 auto muon_phi4gev_1p3eta2p4A =
Monitored::Collection(
"muon_phi4gev_1p3eta2p4A",mymuons,[](
const TimedMuon&
m){
1157 return (
m.muon->pt()>pt_4_cut && std::abs(
m.muon->eta())>eifi_boundary && std::abs(
m.muon->eta())<trigger_end &&
m.muon->eta()>0)?
m.muon->phi():-10;
1159 oflmuon_variables.push_back(muon_phi4gev_1p3eta2p4A);
1160 auto muon_phi4gev_1p3eta2p4C =
Monitored::Collection(
"muon_phi4gev_1p3eta2p4C",mymuons,[](
const TimedMuon&
m){
1161 return (
m.muon->pt()>pt_4_cut && std::abs(
m.muon->eta())>eifi_boundary && std::abs(
m.muon->eta())<trigger_end &&
m.muon->eta()<0)?
m.muon->phi():-10;
1163 oflmuon_variables.push_back(muon_phi4gev_1p3eta2p4C);
1165 return (std::abs(
m.muon->eta()) < barrel_end &&
m.muon->pt() > pt_4_cut) ?
m.muon->phi() : -10;
1167 oflmuon_variables.push_back(muon_phi4gev_rpc);
1169 return (std::abs(
m.muon->eta()) < barrel_end &&
m.muon->pt() > pt_4_cut &&
m.muon->eta() > 0) ?
m.muon->phi() : -10;
1171 oflmuon_variables.push_back(muon_phi4gev_rpcA);
1173 return (std::abs(
m.muon->eta()) < barrel_end &&
m.muon->pt() > pt_4_cut &&
m.muon->eta() < 0) ?
m.muon->phi() : -10;
1175 oflmuon_variables.push_back(muon_phi4gev_rpcC);
1177 return (std::abs(
m.muon->eta()) > barrel_end && std::abs(
m.muon->eta()) < trigger_end &&
m.muon->pt() > pt_4_cut) ?
m.muon->phi() : -10;
1179 oflmuon_variables.push_back(muon_phi4gev_tgc);
1181 return (std::abs(
m.muon->eta()) > barrel_end && std::abs(
m.muon->eta()) < trigger_end &&
m.muon->pt() > pt_4_cut &&
m.muon->eta() > 0) ?
m.muon->phi() : -10;
1183 oflmuon_variables.push_back(muon_phi4gev_tgcA);
1185 return (std::abs(
m.muon->eta()) > barrel_end && std::abs(
m.muon->eta()) < trigger_end &&
m.muon->pt() > pt_4_cut &&
m.muon->eta() < 0) ?
m.muon->phi() : -10;
1187 oflmuon_variables.push_back(muon_phi4gev_tgcC);
1189 return (std::abs(
m.muon->eta()) > barrel_end && std::abs(
m.muon->eta()) < trigger_end) ?
m.muon->phi() : -10;
1191 oflmuon_variables.push_back(muon_phi0gev_tgc);
1193 return (std::abs(
m.muon->eta()) > barrel_end && std::abs(
m.muon->eta()) < trigger_end &&
m.muon->eta() > 0) ?
m.muon->phi() : -10;
1195 oflmuon_variables.push_back(muon_phi0gev_tgcA);
1197 return (std::abs(
m.muon->eta()) > barrel_end && std::abs(
m.muon->eta()) < trigger_end &&
m.muon->eta() < 0) ?
m.muon->phi() : -10;
1199 oflmuon_variables.push_back(muon_phi0gev_tgcC);
1201 return (
m.muon->pt() > pt_30_cut) ?
m.muon->eta() : -10;
1203 oflmuon_variables.push_back(muon_eta);
1205 return (
m.muon->pt() > pt_30_cut) ?
m.muon->phi() : -10;
1207 oflmuon_variables.push_back(muon_phi);
1209 return (std::abs(
m.muon->eta()) < barrel_end &&
m.muon->pt() > pt_30_cut) ?
m.muon->phi() : -10;
1211 oflmuon_variables.push_back(muon_phi_rpc);
1213 return (std::abs(
m.muon->eta()) < barrel_end &&
m.muon->pt() > pt_30_cut &&
m.muon->eta()>0) ?
m.muon->phi() : -10;
1215 oflmuon_variables.push_back(muon_phi_rpcA);
1217 return (std::abs(
m.muon->eta()) < barrel_end &&
m.muon->pt() > pt_30_cut &&
m.muon->eta()<0) ?
m.muon->phi() : -10;
1219 oflmuon_variables.push_back(muon_phi_rpcC);
1221 return (std::abs(
m.muon->eta()) > barrel_end && std::abs(
m.muon->eta()) < trigger_end &&
m.muon->pt() > pt_30_cut) ?
m.muon->phi() : -10;
1223 oflmuon_variables.push_back(muon_phi_tgc);
1225 return (std::abs(
m.muon->eta()) > barrel_end && std::abs(
m.muon->eta()) < trigger_end &&
m.muon->pt() > pt_30_cut &&
m.muon->eta()>0) ?
m.muon->phi() : -10;
1227 oflmuon_variables.push_back(muon_phi_tgcA);
1229 return (std::abs(
m.muon->eta()) > barrel_end && std::abs(
m.muon->eta()) < trigger_end &&
m.muon->pt() > pt_30_cut &&
m.muon->eta()<0) ?
m.muon->phi() : -10;
1231 oflmuon_variables.push_back(muon_phi_tgcC);
1235 oflmuon_variables.push_back(muon_pt_rpc);
1237 return (std::abs(
m.muon->eta()) > barrel_end && std::abs(
m.muon->eta()) < trigger_end) ?
m.muon->pt() /
Gaudi::Units::GeV : -10;
1239 oflmuon_variables.push_back(muon_pt_tgc);
1241 return (std::abs(
m.muon->eta()) < barrel_end);
1243 oflmuon_variables.push_back(muon_barrel);
1245 return (std::abs(
m.muon->eta()) > barrel_end && std::abs(
m.muon->eta()) < endcap_end);
1247 oflmuon_variables.push_back(muon_endcap);
1249 return (std::abs(
m.muon->eta()) > endcap_end && std::abs(
m.muon->eta()) < trigger_end);
1251 oflmuon_variables.push_back(muon_forward);
1253 return m.matchedL1ThrInclusiveTGC.find(1) !=
m.matchedL1ThrInclusiveTGC.end();
1255 oflmuon_variables.push_back(muon_l1passThr1TGC);
1257 return m.matchedL1ThrInclusive.find(1) !=
m.matchedL1ThrInclusive.end();
1259 oflmuon_variables.push_back(muon_l1passThr1);
1261 return m.matchedL1ThrInclusive.find(2) !=
m.matchedL1ThrInclusive.end();
1263 oflmuon_variables.push_back(muon_l1passThr2);
1265 return m.matchedL1ThrInclusive.find(3) !=
m.matchedL1ThrInclusive.end();
1267 oflmuon_variables.push_back(muon_l1passThr3);
1269 return m.matchedL1ThrInclusive.find(4) !=
m.matchedL1ThrInclusive.end();
1271 oflmuon_variables.push_back(muon_l1passThr4);
1273 return m.matchedL1ThrInclusive.find(5) !=
m.matchedL1ThrInclusive.end();
1275 oflmuon_variables.push_back(muon_l1passThr5);
1277 return m.matchedL1ThrInclusive.find(6) !=
m.matchedL1ThrInclusive.end();
1279 oflmuon_variables.push_back(muon_l1passThr6);
1281 return m.matchedL1ThrInclusive.find(7) !=
m.matchedL1ThrInclusive.end();
1283 oflmuon_variables.push_back(muon_l1passThr7);
1285 return m.matchedL1ThrInclusive.find(8) !=
m.matchedL1ThrInclusive.end();
1287 oflmuon_variables.push_back(muon_l1passThr8);
1289 return m.matchedL1ThrInclusive.find(9) !=
m.matchedL1ThrInclusive.end();
1291 oflmuon_variables.push_back(muon_l1passThr9);
1293 return m.matchedL1ThrInclusive.find(10) !=
m.matchedL1ThrInclusive.end();
1295 oflmuon_variables.push_back(muon_l1passThr10);
1297 return m.matchedL1ThrInclusive.find(11) !=
m.matchedL1ThrInclusive.end();
1299 oflmuon_variables.push_back(muon_l1passThr11);
1301 return m.matchedL1ThrInclusive.find(12) !=
m.matchedL1ThrInclusive.end();
1303 oflmuon_variables.push_back(muon_l1passThr12);
1305 return m.matchedL1ThrInclusive.find(13) !=
m.matchedL1ThrInclusive.end();
1307 oflmuon_variables.push_back(muon_l1passThr13);
1309 return m.matchedL1ThrInclusive.find(14) !=
m.matchedL1ThrInclusive.end();
1311 oflmuon_variables.push_back(muon_l1passThr14);
1313 return m.matchedL1ThrInclusive.find(15) !=
m.matchedL1ThrInclusive.end();
1315 oflmuon_variables.push_back(muon_l1passThr15);
1317 return m.matchedL1Charge;
1319 oflmuon_variables.push_back(muon_l1passCharge);
1321 return m.passBW3Coin;
1323 oflmuon_variables.push_back(muon_l1passBW3Coin);
1324 auto muon_l1passBW3CoinVeto =
Monitored::Collection(
"muon_l1passBW3CoinVeto",mymuons,[](
const TimedMuon&
m){
1325 return !
m.passBW3Coin;
1327 oflmuon_variables.push_back(muon_l1passBW3CoinVeto);
1329 return m.passInnerCoin;
1331 oflmuon_variables.push_back(muon_l1passInnerCoin);
1332 auto muon_l1passInnerCoinVeto =
Monitored::Collection(
"muon_l1passInnerCoinVeto",mymuons,[](
const TimedMuon&
m){
1333 return !
m.passInnerCoin;
1335 oflmuon_variables.push_back(muon_l1passInnerCoinVeto);
1337 return m.passGoodMF;
1339 oflmuon_variables.push_back(muon_l1passGoodMF);
1341 return !
m.passGoodMF;
1343 oflmuon_variables.push_back(muon_l1passBadMF);
1344 auto muon_l1passIsMoreCandInRoI =
Monitored::Collection(
"muon_l1passIsMoreCandInRoI",mymuons,[](
const TimedMuon&
m){
1345 return m.passIsMoreCandInRoI;
1347 oflmuon_variables.push_back(muon_l1passIsMoreCandInRoI);
1350 ATH_MSG_DEBUG(
"End filling offline muon-related histograms");
1365 if (!tgcCoinCurr.isValid() || !tgcCoinNext.isValid() || !tgcCoinPrev.isValid()) {
1369 std::map<int, SG::ReadHandle<Muon::TgcCoinDataContainer> > tgcCoin;
1370 tgcCoin[-1] = tgcCoinPrev;
1371 tgcCoin[0] = tgcCoinCurr;
1372 tgcCoin[+1] = tgcCoinNext;
1375 if(tgcCoinNextNext.isValid())tgcCoin[+2] = tgcCoinNextNext;
1377 std::vector< TgcTrig > tgcTrigMap_SL;
1378 std::vector< TgcTrig > tgcTrigMap_SL_Endcap;
1379 std::vector< TgcTrig > tgcTrigMap_SL_Forward;
1380 std::vector< TgcTrig > tgcTrigMap_HPT_Wire;
1381 std::vector< TgcTrig > tgcTrigMap_HPT_Endcap_Wire;
1382 std::vector< TgcTrig > tgcTrigMap_HPT_Forward_Wire;
1383 std::vector< TgcTrig > tgcTrigMap_HPT_Strip;
1384 std::vector< TgcTrig > tgcTrigMap_HPT_Endcap_Strip;
1385 std::vector< TgcTrig > tgcTrigMap_HPT_Forward_Strip;
1386 std::vector< TgcTrig > tgcTrigMap_LPT_Wire;
1387 std::vector< TgcTrig > tgcTrigMap_LPT_Endcap_Wire;
1388 std::vector< TgcTrig > tgcTrigMap_LPT_Forward_Wire;
1389 std::vector< TgcTrig > tgcTrigMap_LPT_Strip;
1390 std::vector< TgcTrig > tgcTrigMap_LPT_Endcap_Strip;
1391 std::vector< TgcTrig > tgcTrigMap_LPT_Forward_Strip;
1392 std::vector< TgcTrig > tgcTrigMap_EIFI_Wire;
1393 std::vector< TgcTrig > tgcTrigMap_EIFI_Endcap_Wire;
1394 std::vector< TgcTrig > tgcTrigMap_EIFI_Forward_Wire;
1395 std::vector< TgcTrig > tgcTrigMap_EIFI_Strip;
1396 std::vector< TgcTrig > tgcTrigMap_EIFI_Endcap_Strip;
1397 std::vector< TgcTrig > tgcTrigMap_EIFI_Forward_Strip;
1398 std::vector< TgcTrigTile > tgcTrigTileMap;
1399 std::vector< TgcTrigNsw > tgcTrigNswMap;
1400 std::vector< TgcTrigRpc > tgcTrigRpcMap;
1401 std::vector< TgcTrigEifi > tgcTrigEifiMap;
1402 int n_TgcCoin_detElementIsNull = 0;
1403 int n_TgcCoin_postOutPtrIsNull = 0;
1404 for (
auto thisCoin : tgcCoin) {
1405 int bunch = thisCoin.first;
1406 for (
const auto tgccnt : *(thisCoin.second)) {
1407 for (
const auto data : *tgccnt) {
1408 if (
data->detectorElementOut() ==
nullptr ) n_TgcCoin_detElementIsNull++;
1409 if (
data->posOutPtr() ==
nullptr ) n_TgcCoin_postOutPtrIsNull++;
1411 int slsector = (
data->isForward()) ? (
data->phi() % 24 + 1) : ( (
data->phi() + 1) % 48 + 1);
1412 if(!
data->isAside()) slsector *= -1;
1415 if (
data->isInner() &&
data->isStrip()) {
1417 rpcCoin.slSector = slsector;
1419 rpcCoin.bunch = bunch;
1420 rpcCoin.currBc = (bunch==0);
1425 tgcTrigRpcMap.push_back(rpcCoin);
1426 }
else if (
data->isInner() && !
data->isStrip()) {
1428 nswCoin.slSector = slsector;
1430 int boardID = (std::abs(nswCoin.slSector)-1) / 2 + 1;
1431 nswCoin.slInputIndex = (boardID-1) * 6 + nswCoin.slInput;
1432 nswCoin.isAside =
data->isAside();
1433 nswCoin.isForward =
data->isForward();
1435 nswCoin.bunch = bunch;
1436 nswCoin.currBc = (bunch==0);
1440 if(nswCoin.R!=0 && nswCoin.Phi!=0)
1441 tgcTrigNswMap.push_back(nswCoin);
1442 }
else if (!
data->isInner() &&
data->isStrip()) {
1443 TgcTrigTile tileCoin;
1444 tileCoin.slSector = slsector;
1446 tileCoin.bunch = bunch;
1447 tileCoin.currBc = (bunch==0);
1449 if(tileCoin.tmdbDecisions!=0)
1450 tgcTrigTileMap.push_back(tileCoin);
1451 }
else if (!
data->isInner() && !
data->isStrip()) {
1452 TgcTrigEifi eifiCoin;
1453 eifiCoin.slSector = slsector;
1454 eifiCoin.bunch = bunch;
1455 eifiCoin.currBc = (bunch==0);
1456 tgcTrigEifiMap.push_back(eifiCoin);
1460 if (
data->detectorElementOut() ==
nullptr ||
1461 data->posOutPtr() == nullptr )
continue;
1465 tgcTrig.x_In = posIn[0];
1466 tgcTrig.y_In = posIn[1];
1467 tgcTrig.z_In = posIn[2];
1469 tgcTrig.x_Out = posOut[0];
1470 tgcTrig.y_Out = posOut[1];
1471 tgcTrig.z_Out = posOut[2];
1472 tgcTrig.eta = posOut.eta();
1473 tgcTrig.phi = posOut.phi();
1474 tgcTrig.width_In =
data->widthIn();
1475 tgcTrig.width_Out =
data->widthOut();
1478 tgcTrig.width_R =
matrix(0, 0);
1479 tgcTrig.width_Phi =
matrix(1, 1);
1481 tgcTrig.muonMatched = 0;
1482 for(
const auto&
ext : extpositions_pivot){
1484 if(
data->isAside() &&
ext.extPos.z()<0)
continue;
1485 if(!
data->isAside()&&
ext.extPos.z()>0)
continue;
1487 tgcTrig.muonMatched = 1;
1491 tgcTrig.loosemuonMatched = 0;
1492 for (
const auto&
muon : oflmuons) {
1495 if(
dr > max_dr )
continue;
1496 tgcTrig.loosemuonMatched = 1;
1500 tgcTrig.isBiased = 0;
1501 for(
const auto&
muon : biasedMuons){
1504 if(
dr > max_dr )
continue;
1505 tgcTrig.isBiased = 1;
1511 if(biasedMuons.size()>=2) tgcTrig.isBiased = 0;
1514 tgcTrig.width_R = 0.;
1515 tgcTrig.width_Phi = 0.;
1521 etaout = std::abs(
int(
m_idHelperSvc->tgcIdHelper().stationEta(tcdidout)));
1525 etain = std::abs(
int(
m_idHelperSvc->tgcIdHelper().stationEta(tcdidin)));
1527 tgcTrig.etaout = etaout;
1528 tgcTrig.etain = etain;
1529 tgcTrig.isAside =
data->isAside();
1530 tgcTrig.isForward =
data->isForward();
1531 tgcTrig.isStrip =
data->isStrip();
1532 tgcTrig.isInner =
data->isInner();
1533 tgcTrig.isPositiveDeltaR =
data->isPositiveDeltaR();
1534 tgcTrig.type =
data->type();
1535 tgcTrig.trackletId =
data->trackletId();
1536 tgcTrig.trackletIdStrip =
data->trackletIdStrip();
1537 tgcTrig.sector = slsector;
1538 tgcTrig.roi =
data->roi();
1539 tgcTrig.pt =
data->pt();
1540 tgcTrig.delta =
data->delta();
1541 tgcTrig.sub =
data->sub();
1542 tgcTrig.veto =
data->veto();
1543 tgcTrig.bunch = bunch;
1545 tgcTrig.inner =
data->inner();
1546 if( !
data->isInner() ){
1548 tgcTrigMap_SL_Endcap.push_back(tgcTrig);
1549 tgcTrigMap_SL.push_back(tgcTrig);
1551 tgcTrigMap_SL_Forward.push_back(tgcTrig);
1552 tgcTrigMap_SL.push_back(tgcTrig);
1554 if(tgcTrig.isStrip){
1555 tgcTrigMap_HPT_Endcap_Strip.push_back(tgcTrig);
1556 tgcTrigMap_HPT_Strip.push_back(tgcTrig);
1558 tgcTrigMap_HPT_Endcap_Wire.push_back(tgcTrig);
1559 tgcTrigMap_HPT_Wire.push_back(tgcTrig);
1562 if(tgcTrig.isStrip){
1563 tgcTrigMap_HPT_Forward_Strip.push_back(tgcTrig);
1564 tgcTrigMap_HPT_Strip.push_back(tgcTrig);
1566 tgcTrigMap_HPT_Forward_Wire.push_back(tgcTrig);
1567 tgcTrigMap_HPT_Wire.push_back(tgcTrig);
1570 if(tgcTrig.isStrip){
1571 tgcTrigMap_LPT_Endcap_Strip.push_back(tgcTrig);
1572 tgcTrigMap_LPT_Strip.push_back(tgcTrig);
1574 tgcTrigMap_LPT_Endcap_Wire.push_back(tgcTrig);
1575 tgcTrigMap_LPT_Wire.push_back(tgcTrig);
1578 if(tgcTrig.isStrip){
1579 tgcTrigMap_LPT_Forward_Strip.push_back(tgcTrig);
1580 tgcTrigMap_LPT_Strip.push_back(tgcTrig);
1582 tgcTrigMap_LPT_Forward_Wire.push_back(tgcTrig);
1583 tgcTrigMap_LPT_Wire.push_back(tgcTrig);
1586 if(tgcTrig.isStrip){
1587 tgcTrigMap_EIFI_Endcap_Strip.push_back(tgcTrig);
1588 tgcTrigMap_EIFI_Strip.push_back(tgcTrig);
1590 tgcTrigMap_EIFI_Endcap_Wire.push_back(tgcTrig);
1591 tgcTrigMap_EIFI_Wire.push_back(tgcTrig);
1594 if(tgcTrig.isStrip){
1595 tgcTrigMap_EIFI_Forward_Strip.push_back(tgcTrig);
1596 tgcTrigMap_EIFI_Strip.push_back(tgcTrig);
1598 tgcTrigMap_EIFI_Forward_Wire.push_back(tgcTrig);
1599 tgcTrigMap_EIFI_Wire.push_back(tgcTrig);
1610 for(
auto& sl : tgcTrigMap_SL){
1611 if( sl.bunch != 0 )
continue;
1612 for(
auto& inner : tgcTrigRpcMap){
1613 if( sl.isForward == 1 )
break;
1614 if( sl.sector != inner.slSector )
continue;
1615 inner.roiEta = sl.eta;
1616 inner.roiPhi = sl.phi;
1617 inner.roiNum = sl.roi;
1618 inner.deltaBcid = (sl.bunch==0 && sl.muonMatched==1 && sl.isBiased==0) ? (inner.bcid - sl.bcid) : -999;
1619 inner.deltaTiming = (sl.bunch==0 && sl.muonMatched==1 && sl.isBiased==0) ? (inner.bunch - sl.bunch) : -999;
1620 inner.goodBcid0 = inner.deltaBcid==0;
1621 inner.goodBcid1 = (std::abs(inner.deltaBcid)<=1 || (16-std::abs(inner.deltaBcid))<=1);
1622 inner.goodBcid2 = (std::abs(inner.deltaBcid)<=2 || (16-std::abs(inner.deltaBcid))<=2);
1623 inner.goodTiming = (inner.bunch==sl.bunch && sl.bunch==0 && sl.muonMatched==1 && sl.isBiased==0);
1624 sl.rpc.push_back(&inner);
1626 for(
auto& inner : tgcTrigNswMap){
1627 if( sl.sector != inner.slSector )
continue;
1628 if( sl.isForward != inner.isForward )
continue;
1630 inner.roiEta = sl.eta;
1631 inner.roiPhi = sl.phi;
1632 inner.roiNum = sl.roi;
1634 inner.deltaBcid = (sl.bunch==0 && sl.muonMatched==1 && sl.isBiased==0) ? (inner.bcid - sl.bcid) : -999;
1635 inner.deltaTiming = (sl.bunch==0 && sl.muonMatched==1 && sl.isBiased==0) ? (inner.bunch - sl.bunch) : -999;
1636 inner.goodBcid0 = inner.deltaBcid==0;
1637 inner.goodBcid1 = (std::abs(inner.deltaBcid)<=1 || (16-std::abs(inner.deltaBcid))<=1);
1638 inner.goodBcid2 = (std::abs(inner.deltaBcid)<=2 || (16-std::abs(inner.deltaBcid))<=2);
1639 inner.goodTiming = (inner.bunch==sl.bunch && sl.bunch==0 && sl.muonMatched==1 && sl.isBiased==0);
1640 sl.nsw.push_back(&inner);
1643 for(
auto& inner : tgcTrigTileMap){
1644 if( sl.isForward == 1 )
break;
1645 if( sl.sector != inner.slSector )
continue;
1646 inner.roiEta = sl.eta;
1647 inner.roiPhi = sl.phi;
1648 inner.roiNum = sl.roi;
1649 inner.deltaBcid = (sl.bunch==0 && sl.muonMatched==1 && sl.isBiased==0) ? (inner.bcid - sl.bcid) : -999;
1650 inner.deltaTiming = (sl.bunch==0 && sl.muonMatched==1 && sl.isBiased==0) ? (inner.bunch - sl.bunch) : -999;
1651 inner.goodBcid0 = inner.deltaBcid==0;
1652 inner.goodBcid1 = (std::abs(inner.deltaBcid)<=1 || (16-std::abs(inner.deltaBcid))<=1);
1653 inner.goodBcid2 = (std::abs(inner.deltaBcid)<=2 || (16-std::abs(inner.deltaBcid))<=2);
1654 inner.goodTiming = (inner.bunch==sl.bunch && sl.bunch==0 && sl.muonMatched==1 && sl.isBiased==0);
1655 sl.tile.push_back(&inner);
1657 for(
auto& inner : tgcTrigEifiMap){
1658 if( sl.isForward == 1 )
break;
1659 if( sl.sector != inner.slSector )
continue;
1660 inner.roiEta = sl.eta;
1661 inner.roiPhi = sl.phi;
1662 inner.roiNum = sl.roi;
1663 inner.deltaTiming = (sl.bunch==0 && sl.muonMatched==1 && sl.isBiased==0) ? (inner.bunch - sl.bunch) : -999;
1664 inner.goodTiming = (inner.bunch==sl.bunch && sl.bunch==0 && sl.muonMatched==1 && sl.isBiased==0);
1665 sl.eifi.push_back(&inner);
1669 std::vector< TgcTrigTile > tgcTrigTileMap_allmods;
1670 for(
auto& inner : tgcTrigTileMap){
1671 if(inner.roiNum<0)
continue;
1672 for(
int i = 0 ;
i < 12 ;
i++){
1673 TgcTrigTile inner2 = inner;
1674 if((inner.tmdbDecisions>>
i) & 0x1){
1675 inner2.tmdbDecisions = (
i+3)%3 + 1;
1676 tgcTrigTileMap_allmods.push_back(inner2);
1684 tgcCoin_variables.push_back(mon_bcid);
1685 tgcCoin_variables.push_back(mon_pileup);
1686 tgcCoin_variables.push_back(mon_lb);
1688 auto mon_nTgcCoin_detElementIsNull =
Monitored::Scalar<int>(
"nTgcCoinDetElementIsNull", n_TgcCoin_detElementIsNull);
1689 auto mon_nTgcCoin_postOutPtrIsNull =
Monitored::Scalar<int>(
"nTgcCoinPostOutPtrIsNull", n_TgcCoin_postOutPtrIsNull);
1690 tgcCoin_variables.push_back(mon_nTgcCoin_detElementIsNull);
1691 tgcCoin_variables.push_back(mon_nTgcCoin_postOutPtrIsNull);
1693 std::vector<Monitored::ObjectsCollection<std::vector<TgcTrig>,
double>> vo_coin;
1694 vo_coin.reserve(38 * 21);
1696 fillTgcCoin(
"SL",tgcTrigMap_SL,vo_coin,tgcCoin_variables);
1697 fillTgcCoin(
"SL_Endcap",tgcTrigMap_SL_Endcap,vo_coin,tgcCoin_variables);
1698 fillTgcCoin(
"SL_Forward",tgcTrigMap_SL_Forward,vo_coin,tgcCoin_variables);
1699 fillTgcCoin(
"HPT_Wire",tgcTrigMap_HPT_Wire,vo_coin,tgcCoin_variables);
1700 fillTgcCoin(
"HPT_Endcap_Wire",tgcTrigMap_HPT_Endcap_Wire,vo_coin,tgcCoin_variables);
1701 fillTgcCoin(
"HPT_Forward_Wire",tgcTrigMap_HPT_Forward_Wire,vo_coin,tgcCoin_variables);
1702 fillTgcCoin(
"HPT_Strip",tgcTrigMap_HPT_Strip,vo_coin,tgcCoin_variables);
1703 fillTgcCoin(
"HPT_Endcap_Strip",tgcTrigMap_HPT_Endcap_Strip,vo_coin,tgcCoin_variables);
1704 fillTgcCoin(
"HPT_Forward_Strip",tgcTrigMap_HPT_Forward_Strip,vo_coin,tgcCoin_variables);
1705 fillTgcCoin(
"LPT_Wire",tgcTrigMap_LPT_Wire,vo_coin,tgcCoin_variables);
1706 fillTgcCoin(
"LPT_Endcap_Wire",tgcTrigMap_LPT_Endcap_Wire,vo_coin,tgcCoin_variables);
1707 fillTgcCoin(
"LPT_Forward_Wire",tgcTrigMap_LPT_Forward_Wire,vo_coin,tgcCoin_variables);
1708 fillTgcCoin(
"LPT_Strip",tgcTrigMap_LPT_Strip,vo_coin,tgcCoin_variables);
1709 fillTgcCoin(
"LPT_Endcap_Strip",tgcTrigMap_LPT_Endcap_Strip,vo_coin,tgcCoin_variables);
1710 fillTgcCoin(
"LPT_Forward_Strip",tgcTrigMap_LPT_Forward_Strip,vo_coin,tgcCoin_variables);
1711 fillTgcCoin(
"EIFI_Wire",tgcTrigMap_EIFI_Wire,vo_coin,tgcCoin_variables);
1712 fillTgcCoin(
"EIFI_Endcap_Wire",tgcTrigMap_EIFI_Endcap_Wire,vo_coin,tgcCoin_variables);
1713 fillTgcCoin(
"EIFI_Forward_Wire",tgcTrigMap_EIFI_Forward_Wire,vo_coin,tgcCoin_variables);
1714 fillTgcCoin(
"EIFI_Strip",tgcTrigMap_EIFI_Strip,vo_coin,tgcCoin_variables);
1715 fillTgcCoin(
"EIFI_Endcap_Strip",tgcTrigMap_EIFI_Endcap_Strip,vo_coin,tgcCoin_variables);
1716 fillTgcCoin(
"EIFI_Forward_Strip",tgcTrigMap_EIFI_Forward_Strip,vo_coin,tgcCoin_variables);
1718 std::vector<Monitored::ObjectsCollection<std::vector<ExtTrigInfo>,
double>> vo_exttriginfo;
1719 vo_exttriginfo.reserve(13 * 5);
1720 std::vector<ExtTrigInfo> extTrigInfo_SL;
1721 std::vector<ExtTrigInfo> extTrigInfo_HPT_Wire;
1722 std::vector<ExtTrigInfo> extTrigInfo_HPT_Strip;
1723 std::vector<ExtTrigInfo> extTrigInfo_LPT_Wire;
1724 std::vector<ExtTrigInfo> extTrigInfo_LPT_Strip;
1725 fillTgcCoinEff(
"SL",tgcTrigMap_SL,extpositions_pivot,extTrigInfo_SL,vo_exttriginfo,tgcCoin_variables);
1726 fillTgcCoinEff(
"HPT_Wire",tgcTrigMap_HPT_Wire,extpositions_pivot,extTrigInfo_HPT_Wire,vo_exttriginfo,tgcCoin_variables);
1727 fillTgcCoinEff(
"HPT_Strip",tgcTrigMap_HPT_Strip,extpositions_pivot,extTrigInfo_HPT_Strip,vo_exttriginfo,tgcCoin_variables);
1728 fillTgcCoinEff(
"LPT_Wire",tgcTrigMap_LPT_Wire,extpositions_pivot,extTrigInfo_LPT_Wire,vo_exttriginfo,tgcCoin_variables);
1729 fillTgcCoinEff(
"LPT_Strip",tgcTrigMap_LPT_Strip,extpositions_pivot,extTrigInfo_LPT_Strip,vo_exttriginfo,tgcCoin_variables);
1735 tgcCoin_variables.push_back(coin_inner_tgc_roi);
1736 auto coin_inner_tgc_sector=
Monitored::Collection(
"coin_inner_tgc_sector",tgcTrigMap_SL,[](
const TgcTrig&
m){
1737 return (
m.bunch==0 &&
m.muonMatched==1 &&
m.isBiased==0) ? (
m.sector) : -999;
1739 tgcCoin_variables.push_back(coin_inner_tgc_sector);
1740 auto coin_inner_tgc_fake_sector=
Monitored::Collection(
"coin_inner_tgc_fake_sector",tgcTrigMap_SL,[](
const TgcTrig&
m){
1741 return (
m.bunch==0 &&
m.muonMatched==0 &&
m.loosemuonMatched==0 &&
m.isBiased==0) ? (
m.sector) : -999;
1743 tgcCoin_variables.push_back(coin_inner_tgc_fake_sector);
1746 return (
m.bunch==0 &&
m.muonMatched==1 &&
m.isBiased==0) ? (
m.eta) : -999;
1748 tgcCoin_variables.push_back(coin_inner_tgc_eta);
1750 return (
m.bunch==0 &&
m.muonMatched==1 &&
m.isBiased==0) ? (
m.phi) : -999;
1752 tgcCoin_variables.push_back(coin_inner_tgc_phi);
1754 auto coin_inner_tgc_fake_eta=
Monitored::Collection(
"coin_inner_tgc_fake_eta",tgcTrigMap_SL,[](
const TgcTrig&
m){
1755 return (
m.bunch==0 &&
m.muonMatched==0 &&
m.loosemuonMatched==0 &&
m.isBiased==0) ? (
m.eta) : -999;
1757 tgcCoin_variables.push_back(coin_inner_tgc_fake_eta);
1758 auto coin_inner_tgc_fake_phi=
Monitored::Collection(
"coin_inner_tgc_fake_phi",tgcTrigMap_SL,[](
const TgcTrig&
m){
1759 return (
m.bunch==0 &&
m.muonMatched==0 &&
m.loosemuonMatched==0 &&
m.isBiased==0) ? (
m.phi) : -999;
1761 tgcCoin_variables.push_back(coin_inner_tgc_fake_phi);
1763 auto coin_inner_tgc_forward=
Monitored::Collection(
"coin_inner_tgc_forward",tgcTrigMap_SL,[](
const TgcTrig&
m){
1764 return m.isForward==1;
1766 tgcCoin_variables.push_back(coin_inner_tgc_forward);
1767 auto coin_inner_tgc_endcap=
Monitored::Collection(
"coin_inner_tgc_endcap",tgcTrigMap_SL,[](
const TgcTrig&
m){
1768 return m.isForward==0;
1770 tgcCoin_variables.push_back(coin_inner_tgc_endcap);
1771 auto coin_inner_tgc_etaupto1p3=
Monitored::Collection(
"coin_inner_tgc_etaupto1p3",tgcTrigMap_SL,[](
const TgcTrig&
m){
1772 return std::abs(
m.eta) < 1.3;
1774 tgcCoin_variables.push_back(coin_inner_tgc_etaupto1p3);
1775 auto coin_inner_tgc_etafrom1p3_endcap=
Monitored::Collection(
"coin_inner_tgc_etafrom1p3_endcap",tgcTrigMap_SL,[](
const TgcTrig&
m){
1776 return std::abs(
m.eta) > 1.3 &&
m.isForward==0;
1778 tgcCoin_variables.push_back(coin_inner_tgc_etafrom1p3_endcap);
1780 auto coin_inner_tgc_coinflagEifi=
Monitored::Collection(
"coin_inner_tgc_coinflagEifi",tgcTrigMap_SL,[](
const TgcTrig&
m){
1783 tgcCoin_variables.push_back(coin_inner_tgc_coinflagEifi);
1784 auto coin_inner_tgc_coinflagTile=
Monitored::Collection(
"coin_inner_tgc_coinflagTile",tgcTrigMap_SL,[](
const TgcTrig&
m){
1787 tgcCoin_variables.push_back(coin_inner_tgc_coinflagTile);
1788 auto coin_inner_tgc_coinflagRpc=
Monitored::Collection(
"coin_inner_tgc_coinflagRpc",tgcTrigMap_SL,[](
const TgcTrig&
m){
1791 tgcCoin_variables.push_back(coin_inner_tgc_coinflagRpc);
1792 auto coin_inner_tgc_coinflagNsw=
Monitored::Collection(
"coin_inner_tgc_coinflagNsw",tgcTrigMap_SL,[](
const TgcTrig&
m){
1795 tgcCoin_variables.push_back(coin_inner_tgc_coinflagNsw);
1796 auto coin_inner_tgc_coinflagC=
Monitored::Collection(
"coin_inner_tgc_coinflagC",tgcTrigMap_SL,[](
const TgcTrig&
m){
1799 tgcCoin_variables.push_back(coin_inner_tgc_coinflagC);
1802 auto coin_inner_tgc_anyBcRpc=
Monitored::Collection(
"coin_inner_tgc_anyBcRpc",tgcTrigMap_SL,[](
const TgcTrig&
m) ->
double{
1803 return (
m.rpc.size()>0);
1805 tgcCoin_variables.push_back(coin_inner_tgc_anyBcRpc);
1806 auto coin_inner_tgc_prevBcRpc=
Monitored::Collection(
"coin_inner_tgc_prevBcRpc",tgcTrigMap_SL,[](
const TgcTrig&
m){
1807 for(
const auto& inner :
m.rpc){
1808 if(inner->bunch == -1) return 1.;
1812 tgcCoin_variables.push_back(coin_inner_tgc_prevBcRpc);
1813 auto coin_inner_tgc_currBcRpc=
Monitored::Collection(
"coin_inner_tgc_currBcRpc",tgcTrigMap_SL,[](
const TgcTrig&
m){
1814 for(
const auto& inner :
m.rpc){
1815 if(inner->bunch == 0) return 1.;
1819 tgcCoin_variables.push_back(coin_inner_tgc_currBcRpc);
1820 auto coin_inner_tgc_currBcRpc_goodBcid0=
Monitored::Collection(
"coin_inner_tgc_currBcRpc_goodBcid0",tgcTrigMap_SL,[](
const TgcTrig&
m){
1821 for(
const auto& inner :
m.rpc){
1822 if(inner->bunch == 0 && inner->goodBcid0 == 1) return 1.;
1826 tgcCoin_variables.push_back(coin_inner_tgc_currBcRpc_goodBcid0);
1827 auto coin_inner_tgc_currBcRpc_goodBcid1=
Monitored::Collection(
"coin_inner_tgc_currBcRpc_goodBcid1",tgcTrigMap_SL,[](
const TgcTrig&
m){
1828 for(
const auto& inner :
m.rpc){
1829 if(inner->bunch == 0 && inner->goodBcid1 == 1) return 1.;
1833 tgcCoin_variables.push_back(coin_inner_tgc_currBcRpc_goodBcid1);
1834 auto coin_inner_tgc_currBcRpc_goodBcid2=
Monitored::Collection(
"coin_inner_tgc_currBcRpc_goodBcid2",tgcTrigMap_SL,[](
const TgcTrig&
m){
1835 for(
const auto& inner :
m.rpc){
1836 if(inner->bunch == 0 && inner->goodBcid2 == 1) return 1.;
1840 tgcCoin_variables.push_back(coin_inner_tgc_currBcRpc_goodBcid2);
1841 auto coin_inner_tgc_nextBcRpc=
Monitored::Collection(
"coin_inner_tgc_nextBcRpc",tgcTrigMap_SL,[](
const TgcTrig&
m){
1842 for(
const auto& inner :
m.rpc){
1843 if(inner->bunch == 1) return 1.;
1847 tgcCoin_variables.push_back(coin_inner_tgc_nextBcRpc);
1848 auto coin_inner_tgc_nextnextBcRpc=
Monitored::Collection(
"coin_inner_tgc_nextnextBcRpc",tgcTrigMap_SL,[](
const TgcTrig&
m){
1849 for(
const auto& inner :
m.rpc){
1850 if(inner->bunch == 2) return 1.;
1854 tgcCoin_variables.push_back(coin_inner_tgc_nextnextBcRpc);
1856 auto coin_inner_tgc_prevBcRpc_goodBcid0=
Monitored::Collection(
"coin_inner_tgc_prevBcRpc_goodBcid0",tgcTrigMap_SL,[](
const TgcTrig&
m){
1857 for(
const auto& inner :
m.rpc){
1858 if(inner->bunch == -1 && inner->goodBcid0 == 1) return 1.;
1862 tgcCoin_variables.push_back(coin_inner_tgc_prevBcRpc_goodBcid0);
1863 auto coin_inner_tgc_nextBcRpc_goodBcid0=
Monitored::Collection(
"coin_inner_tgc_nextBcRpc_goodBcid0",tgcTrigMap_SL,[](
const TgcTrig&
m){
1864 for(
const auto& inner :
m.rpc){
1865 if(inner->bunch == 1 && inner->goodBcid0 == 1) return 1.;
1869 tgcCoin_variables.push_back(coin_inner_tgc_nextBcRpc_goodBcid0);
1870 auto coin_inner_tgc_nextnextBcRpc_goodBcid0=
Monitored::Collection(
"coin_inner_tgc_nextnextBcRpc_goodBcid0",tgcTrigMap_SL,[](
const TgcTrig&
m){
1871 for(
const auto& inner :
m.rpc){
1872 if(inner->bunch == 2 && inner->goodBcid0 == 1) return 1.;
1876 tgcCoin_variables.push_back(coin_inner_tgc_nextnextBcRpc_goodBcid0);
1879 auto coin_inner_tgc_anyBcNsw=
Monitored::Collection(
"coin_inner_tgc_anyBcNsw",tgcTrigMap_SL,[](
const TgcTrig&
m) ->
double{
1880 return (
m.nsw.size()>0);
1882 tgcCoin_variables.push_back(coin_inner_tgc_anyBcNsw);
1883 auto coin_inner_tgc_prevBcNsw=
Monitored::Collection(
"coin_inner_tgc_prevBcNsw",tgcTrigMap_SL,[](
const TgcTrig&
m){
1884 for(
const auto& inner :
m.nsw){
1885 if(inner->bunch == -1) return 1.;
1889 tgcCoin_variables.push_back(coin_inner_tgc_prevBcNsw);
1890 auto coin_inner_tgc_currBcNsw=
Monitored::Collection(
"coin_inner_tgc_currBcNsw",tgcTrigMap_SL,[](
const TgcTrig&
m){
1891 for(
const auto& inner :
m.nsw){
1892 if(inner->bunch == 0) return 1.;
1896 tgcCoin_variables.push_back(coin_inner_tgc_currBcNsw);
1897 auto coin_inner_tgc_currBcNsw_goodBcid0=
Monitored::Collection(
"coin_inner_tgc_currBcNsw_goodBcid0",tgcTrigMap_SL,[](
const TgcTrig&
m){
1898 for(
const auto& inner :
m.nsw){
1899 if(inner->bunch == 0 && inner->goodBcid0 == 1) return 1.;
1903 tgcCoin_variables.push_back(coin_inner_tgc_currBcNsw_goodBcid0);
1904 auto coin_inner_tgc_currBcNsw_goodBcid1=
Monitored::Collection(
"coin_inner_tgc_currBcNsw_goodBcid1",tgcTrigMap_SL,[](
const TgcTrig&
m){
1905 for(
const auto& inner :
m.nsw){
1906 if(inner->bunch == 0 && inner->goodBcid1 == 1) return 1.;
1910 tgcCoin_variables.push_back(coin_inner_tgc_currBcNsw_goodBcid1);
1911 auto coin_inner_tgc_currBcNsw_goodBcid2=
Monitored::Collection(
"coin_inner_tgc_currBcNsw_goodBcid2",tgcTrigMap_SL,[](
const TgcTrig&
m){
1912 for(
const auto& inner :
m.nsw){
1913 if(inner->bunch == 0 && inner->goodBcid2 == 1) return 1.;
1917 tgcCoin_variables.push_back(coin_inner_tgc_currBcNsw_goodBcid2);
1918 auto coin_inner_tgc_nextBcNsw=
Monitored::Collection(
"coin_inner_tgc_nextBcNsw",tgcTrigMap_SL,[](
const TgcTrig&
m){
1919 for(
const auto& inner :
m.nsw){
1920 if(inner->bunch == 1) return 1.;
1924 tgcCoin_variables.push_back(coin_inner_tgc_nextBcNsw);
1925 auto coin_inner_tgc_nextnextBcNsw=
Monitored::Collection(
"coin_inner_tgc_nextnextBcNsw",tgcTrigMap_SL,[](
const TgcTrig&
m){
1926 for(
const auto& inner :
m.nsw){
1927 if(inner->bunch == 2) return 1.;
1931 tgcCoin_variables.push_back(coin_inner_tgc_nextnextBcNsw);
1933 auto coin_inner_tgc_prevBcNsw_goodBcid0=
Monitored::Collection(
"coin_inner_tgc_prevBcNsw_goodBcid0",tgcTrigMap_SL,[](
const TgcTrig&
m){
1934 for(
const auto& inner :
m.nsw){
1935 if(inner->bunch == -1 && inner->goodBcid0 == 1) return 1.;
1939 tgcCoin_variables.push_back(coin_inner_tgc_prevBcNsw_goodBcid0);
1940 auto coin_inner_tgc_nextBcNsw_goodBcid0=
Monitored::Collection(
"coin_inner_tgc_nextBcNsw_goodBcid0",tgcTrigMap_SL,[](
const TgcTrig&
m){
1941 for(
const auto& inner :
m.nsw){
1942 if(inner->bunch == 1 && inner->goodBcid0 == 1) return 1.;
1946 tgcCoin_variables.push_back(coin_inner_tgc_nextBcNsw_goodBcid0);
1947 auto coin_inner_tgc_nextnextBcNsw_goodBcid0=
Monitored::Collection(
"coin_inner_tgc_nextnextBcNsw_goodBcid0",tgcTrigMap_SL,[](
const TgcTrig&
m){
1948 for(
const auto& inner :
m.nsw){
1949 if(inner->bunch == 2 && inner->goodBcid0 == 1) return 1.;
1953 tgcCoin_variables.push_back(coin_inner_tgc_nextnextBcNsw_goodBcid0);
1956 auto coin_inner_tgc_anyBcTile=
Monitored::Collection(
"coin_inner_tgc_anyBcTile",tgcTrigMap_SL,[](
const TgcTrig&
m) ->
double{
1957 return (
m.tile.size()>0);
1959 tgcCoin_variables.push_back(coin_inner_tgc_anyBcTile);
1960 auto coin_inner_tgc_prevBcTile=
Monitored::Collection(
"coin_inner_tgc_prevBcTile",tgcTrigMap_SL,[](
const TgcTrig&
m){
1961 for(
const auto& inner :
m.tile){
1962 if(inner->bunch == -1) return 1.;
1966 tgcCoin_variables.push_back(coin_inner_tgc_prevBcTile);
1967 auto coin_inner_tgc_currBcTile=
Monitored::Collection(
"coin_inner_tgc_currBcTile",tgcTrigMap_SL,[](
const TgcTrig&
m){
1968 for(
const auto& inner :
m.tile){
1969 if(inner->bunch == 0) return 1.;
1973 tgcCoin_variables.push_back(coin_inner_tgc_currBcTile);
1974 auto coin_inner_tgc_currBcTile_goodBcid0=
Monitored::Collection(
"coin_inner_tgc_currBcTile_goodBcid0",tgcTrigMap_SL,[](
const TgcTrig&
m){
1975 for(
const auto& inner :
m.tile){
1976 if(inner->bunch == 0 && inner->goodBcid0 == 1) return 1.;
1980 tgcCoin_variables.push_back(coin_inner_tgc_currBcTile_goodBcid0);
1981 auto coin_inner_tgc_currBcTile_goodBcid1=
Monitored::Collection(
"coin_inner_tgc_currBcTile_goodBcid1",tgcTrigMap_SL,[](
const TgcTrig&
m){
1982 for(
const auto& inner :
m.tile){
1983 if(inner->bunch == 0 && inner->goodBcid1 == 1) return 1.;
1987 tgcCoin_variables.push_back(coin_inner_tgc_currBcTile_goodBcid1);
1988 auto coin_inner_tgc_currBcTile_goodBcid2=
Monitored::Collection(
"coin_inner_tgc_currBcTile_goodBcid2",tgcTrigMap_SL,[](
const TgcTrig&
m){
1989 for(
const auto& inner :
m.tile){
1990 if(inner->bunch == 0 && inner->goodBcid2 == 1) return 1.;
1994 tgcCoin_variables.push_back(coin_inner_tgc_currBcTile_goodBcid2);
1995 auto coin_inner_tgc_nextBcTile=
Monitored::Collection(
"coin_inner_tgc_nextBcTile",tgcTrigMap_SL,[](
const TgcTrig&
m){
1996 for(
const auto& inner :
m.tile){
1997 if(inner->bunch == 1) return 1.;
2001 tgcCoin_variables.push_back(coin_inner_tgc_nextBcTile);
2002 auto coin_inner_tgc_nextnextBcTile=
Monitored::Collection(
"coin_inner_tgc_nextnextBcTile",tgcTrigMap_SL,[](
const TgcTrig&
m){
2003 for(
const auto inner :
m.tile){
2004 if(inner->bunch == 2) return 1.;
2008 tgcCoin_variables.push_back(coin_inner_tgc_nextnextBcTile);
2010 auto coin_inner_tgc_prevBcTile_goodBcid0=
Monitored::Collection(
"coin_inner_tgc_prevBcTile_goodBcid0",tgcTrigMap_SL,[](
const TgcTrig&
m){
2011 for(
const auto& inner :
m.tile){
2012 if(inner->bunch == -1 && inner->goodBcid0 == 1) return 1.;
2016 tgcCoin_variables.push_back(coin_inner_tgc_prevBcTile_goodBcid0);
2017 auto coin_inner_tgc_nextBcTile_goodBcid0=
Monitored::Collection(
"coin_inner_tgc_nextBcTile_goodBcid0",tgcTrigMap_SL,[](
const TgcTrig&
m){
2018 for(
const auto& inner :
m.tile){
2019 if(inner->bunch == 1 && inner->goodBcid0 == 1) return 1.;
2023 tgcCoin_variables.push_back(coin_inner_tgc_nextBcTile_goodBcid0);
2024 auto coin_inner_tgc_nextnextBcTile_goodBcid0=
Monitored::Collection(
"coin_inner_tgc_nextnextBcTile_goodBcid0",tgcTrigMap_SL,[](
const TgcTrig&
m){
2025 for(
const auto inner :
m.tile){
2026 if(inner->bunch == 2 && inner->goodBcid0 == 1) return 1.;
2030 tgcCoin_variables.push_back(coin_inner_tgc_nextnextBcTile_goodBcid0);
2033 auto coin_inner_tgc_anyBcEifi=
Monitored::Collection(
"coin_inner_tgc_anyBcEifi",tgcTrigMap_SL,[](
const TgcTrig&
m) ->
double{
2034 return (
m.eifi.size()>0);
2036 tgcCoin_variables.push_back(coin_inner_tgc_anyBcEifi);
2037 auto coin_inner_tgc_prevBcEifi=
Monitored::Collection(
"coin_inner_tgc_prevBcEifi",tgcTrigMap_SL,[](
const TgcTrig&
m){
2038 for(
const auto& inner :
m.eifi){
2039 if(inner->bunch == -1) return 1.;
2043 tgcCoin_variables.push_back(coin_inner_tgc_prevBcEifi);
2044 auto coin_inner_tgc_currBcEifi=
Monitored::Collection(
"coin_inner_tgc_currBcEifi",tgcTrigMap_SL,[](
const TgcTrig&
m){
2045 for(
const auto& inner :
m.eifi){
2046 if(inner->bunch == 0) return 1.;
2050 tgcCoin_variables.push_back(coin_inner_tgc_currBcEifi);
2051 auto coin_inner_tgc_nextBcEifi=
Monitored::Collection(
"coin_inner_tgc_nextBcEifi",tgcTrigMap_SL,[](
const TgcTrig&
m){
2052 for(
const auto& inner :
m.eifi){
2053 if(inner->bunch == 1) return 1.;
2057 tgcCoin_variables.push_back(coin_inner_tgc_nextBcEifi);
2058 auto coin_inner_tgc_nextnextBcEifi=
Monitored::Collection(
"coin_inner_tgc_nextnextBcEifi",tgcTrigMap_SL,[](
const TgcTrig&
m){
2059 for(
const auto inner :
m.eifi){
2060 if(inner->bunch == 2) return 1.;
2064 tgcCoin_variables.push_back(coin_inner_tgc_nextnextBcEifi);
2068 auto coin_inner_rpc_slSector=
Monitored::Collection(
"coin_inner_rpc_slSector",tgcTrigRpcMap,[](
const TgcTrigRpc&
m){
2071 tgcCoin_variables.push_back(coin_inner_rpc_slSector);
2072 auto coin_inner_rpc_slSector_goodTiming=
Monitored::Collection(
"coin_inner_rpc_slSector_goodTiming",tgcTrigRpcMap,[](
const TgcTrigRpc&
m){
2073 return (
m.goodTiming) ?
m.slSector : -999;
2075 tgcCoin_variables.push_back(coin_inner_rpc_slSector_goodTiming);
2076 auto coin_inner_rpc_roiEta=
Monitored::Collection(
"coin_inner_rpc_roiEta",tgcTrigRpcMap,[](
const TgcTrigRpc&
m){
2079 tgcCoin_variables.push_back(coin_inner_rpc_roiEta);
2080 auto coin_inner_rpc_roiPhi=
Monitored::Collection(
"coin_inner_rpc_roiPhi",tgcTrigRpcMap,[](
const TgcTrigRpc&
m){
2083 tgcCoin_variables.push_back(coin_inner_rpc_roiPhi);
2084 auto coin_inner_rpc_roiNum=
Monitored::Collection(
"coin_inner_rpc_roiNum",tgcTrigRpcMap,[](
const TgcTrigRpc&
m){
2087 tgcCoin_variables.push_back(coin_inner_rpc_roiNum);
2088 auto coin_inner_rpc_deltaBcid=
Monitored::Collection(
"coin_inner_rpc_deltaBcid",tgcTrigRpcMap,[](
const TgcTrigRpc&
m){
2091 tgcCoin_variables.push_back(coin_inner_rpc_deltaBcid);
2092 auto coin_inner_rpc_deltaTiming=
Monitored::Collection(
"coin_inner_rpc_deltaTiming",tgcTrigRpcMap,[](
const TgcTrigRpc&
m){
2093 return m.deltaTiming;
2095 tgcCoin_variables.push_back(coin_inner_rpc_deltaTiming);
2096 auto coin_inner_rpc_rpcEta=
Monitored::Collection(
"coin_inner_rpc_rpcEta",tgcTrigRpcMap,[](
const TgcTrigRpc&
m){
2099 tgcCoin_variables.push_back(coin_inner_rpc_rpcEta);
2100 auto coin_inner_rpc_rpcPhi=
Monitored::Collection(
"coin_inner_rpc_rpcPhi",tgcTrigRpcMap,[](
const TgcTrigRpc&
m){
2103 tgcCoin_variables.push_back(coin_inner_rpc_rpcPhi);
2104 auto coin_inner_rpc_rpcDEta=
Monitored::Collection(
"coin_inner_rpc_rpcDEta",tgcTrigRpcMap,[](
const TgcTrigRpc&
m){
2107 tgcCoin_variables.push_back(coin_inner_rpc_rpcDEta);
2108 auto coin_inner_rpc_rpcDPhi=
Monitored::Collection(
"coin_inner_rpc_rpcDPhi",tgcTrigRpcMap,[](
const TgcTrigRpc&
m){
2111 tgcCoin_variables.push_back(coin_inner_rpc_rpcDPhi);
2112 auto coin_inner_rpc_currBc=
Monitored::Collection(
"coin_inner_rpc_currBc",tgcTrigRpcMap,[](
const TgcTrigRpc&
m){
2115 tgcCoin_variables.push_back(coin_inner_rpc_currBc);
2116 auto coin_inner_rpc_goodBcid0=
Monitored::Collection(
"coin_inner_rpc_goodBcid0",tgcTrigRpcMap,[](
const TgcTrigRpc&
m){
2119 tgcCoin_variables.push_back(coin_inner_rpc_goodBcid0);
2120 auto coin_inner_rpc_goodBcid1=
Monitored::Collection(
"coin_inner_rpc_goodBcid1",tgcTrigRpcMap,[](
const TgcTrigRpc&
m){
2123 tgcCoin_variables.push_back(coin_inner_rpc_goodBcid1);
2124 auto coin_inner_rpc_goodBcid2=
Monitored::Collection(
"coin_inner_rpc_goodBcid2",tgcTrigRpcMap,[](
const TgcTrigRpc&
m){
2127 tgcCoin_variables.push_back(coin_inner_rpc_goodBcid2);
2128 auto coin_inner_rpc_goodTiming=
Monitored::Collection(
"coin_inner_rpc_goodTiming",tgcTrigRpcMap,[](
const TgcTrigRpc&
m){
2129 return m.goodTiming;
2131 tgcCoin_variables.push_back(coin_inner_rpc_goodTiming);
2135 auto coin_inner_nsw_deltaR=
Monitored::Collection(
"coin_inner_nsw_deltaR",tgcTrigNswMap,[](
const TgcTrigNsw&
m){
2138 tgcCoin_variables.push_back(coin_inner_nsw_deltaR);
2139 auto coin_inner_nsw_slSector=
Monitored::Collection(
"coin_inner_nsw_slSector",tgcTrigNswMap,[](
const TgcTrigNsw&
m){
2142 tgcCoin_variables.push_back(coin_inner_nsw_slSector);
2143 auto coin_inner_nsw_slSector_goodTiming=
Monitored::Collection(
"coin_inner_nsw_slSector_goodTiming",tgcTrigNswMap,[](
const TgcTrigNsw&
m){
2144 return (
m.goodTiming) ?
m.slSector : -999;
2146 tgcCoin_variables.push_back(coin_inner_nsw_slSector_goodTiming);
2147 auto coin_inner_nsw_slSector_endcap=
Monitored::Collection(
"coin_inner_nsw_slSector_endcap",tgcTrigNswMap,[](
const TgcTrigNsw&
m){
2148 return (std::abs(
m.roiEta)>1.3 &&
m.isForward==0) ?
m.slSector : -999;
2150 tgcCoin_variables.push_back(coin_inner_nsw_slSector_endcap);
2151 auto coin_inner_nsw_slSector_forward=
Monitored::Collection(
"coin_inner_nsw_slSector_forward",tgcTrigNswMap,[](
const TgcTrigNsw&
m){
2152 return (
m.isForward==1) ?
m.slSector : -999;
2154 tgcCoin_variables.push_back(coin_inner_nsw_slSector_forward);
2155 auto coin_inner_nsw_slSector_goodTiming_endcap=
Monitored::Collection(
"coin_inner_nsw_slSector_goodTiming_endcap",tgcTrigNswMap,[](
const TgcTrigNsw&
m){
2156 return (std::abs(
m.roiEta)>1.3 &&
m.isForward==0 &&
m.goodTiming) ?
m.slSector : -999;
2158 tgcCoin_variables.push_back(coin_inner_nsw_slSector_goodTiming_endcap);
2159 auto coin_inner_nsw_slSector_goodTiming_forward=
Monitored::Collection(
"coin_inner_nsw_slSector_goodTiming_forward",tgcTrigNswMap,[](
const TgcTrigNsw&
m){
2160 return (
m.isForward==1 &&
m.goodTiming) ?
m.slSector : -999;
2162 tgcCoin_variables.push_back(coin_inner_nsw_slSector_goodTiming_forward);
2163 auto coin_inner_nsw_roiEta=
Monitored::Collection(
"coin_inner_nsw_roiEta",tgcTrigNswMap,[](
const TgcTrigNsw&
m){
2166 tgcCoin_variables.push_back(coin_inner_nsw_roiEta);
2167 auto coin_inner_nsw_roiPhi=
Monitored::Collection(
"coin_inner_nsw_roiPhi",tgcTrigNswMap,[](
const TgcTrigNsw&
m){
2170 tgcCoin_variables.push_back(coin_inner_nsw_roiPhi);
2171 auto coin_inner_nsw_roiNum=
Monitored::Collection(
"coin_inner_nsw_roiNum",tgcTrigNswMap,[](
const TgcTrigNsw&
m){
2174 tgcCoin_variables.push_back(coin_inner_nsw_roiNum);
2175 auto coin_inner_nsw_deltaBcid=
Monitored::Collection(
"coin_inner_nsw_deltaBcid",tgcTrigNswMap,[](
const TgcTrigNsw&
m){
2178 tgcCoin_variables.push_back(coin_inner_nsw_deltaBcid);
2179 auto coin_inner_nsw_deltaTiming=
Monitored::Collection(
"coin_inner_nsw_deltaTiming",tgcTrigNswMap,[](
const TgcTrigNsw&
m){
2180 return m.deltaTiming;
2182 tgcCoin_variables.push_back(coin_inner_nsw_deltaTiming);
2186 tgcCoin_variables.push_back(coin_inner_nsw_R);
2190 tgcCoin_variables.push_back(coin_inner_nsw_Phi);
2191 auto coin_inner_nsw_deltaTheta=
Monitored::Collection(
"coin_inner_nsw_deltaTheta",tgcTrigNswMap,[](
const TgcTrigNsw&
m){
2192 return m.deltaTheta;
2194 tgcCoin_variables.push_back(coin_inner_nsw_deltaTheta);
2195 auto coin_inner_nsw_isForward=
Monitored::Collection(
"coin_inner_nsw_isForward",tgcTrigNswMap,[](
const TgcTrigNsw&
m){
2196 return m.isForward==1;
2198 tgcCoin_variables.push_back(coin_inner_nsw_isForward);
2199 auto coin_inner_nsw_isEndcap=
Monitored::Collection(
"coin_inner_nsw_isEndcap",tgcTrigNswMap,[](
const TgcTrigNsw&
m){
2200 return m.isForward==0;
2202 tgcCoin_variables.push_back(coin_inner_nsw_isEndcap);
2203 auto coin_inner_nsw_currBc=
Monitored::Collection(
"coin_inner_nsw_currBc",tgcTrigNswMap,[](
const TgcTrigNsw&
m){
2206 tgcCoin_variables.push_back(coin_inner_nsw_currBc);
2207 auto coin_inner_nsw_endcap_currBc=
Monitored::Collection(
"coin_inner_nsw_endcap_currBc",tgcTrigNswMap,[](
const TgcTrigNsw&
m){
2208 return (
m.isForward==0 &&
m.currBc==1);
2210 tgcCoin_variables.push_back(coin_inner_nsw_endcap_currBc);
2211 auto coin_inner_nsw_forward_currBc=
Monitored::Collection(
"coin_inner_nsw_forward_currBc",tgcTrigNswMap,[](
const TgcTrigNsw&
m){
2212 return (
m.isForward==1 &&
m.currBc==1);
2214 tgcCoin_variables.push_back(coin_inner_nsw_forward_currBc);
2215 auto coin_inner_nsw_goodBcid0=
Monitored::Collection(
"coin_inner_nsw_goodBcid0",tgcTrigNswMap,[](
const TgcTrigNsw&
m){
2218 tgcCoin_variables.push_back(coin_inner_nsw_goodBcid0);
2219 auto coin_inner_nsw_goodBcid1=
Monitored::Collection(
"coin_inner_nsw_goodBcid1",tgcTrigNswMap,[](
const TgcTrigNsw&
m){
2222 tgcCoin_variables.push_back(coin_inner_nsw_goodBcid1);
2223 auto coin_inner_nsw_goodBcid2=
Monitored::Collection(
"coin_inner_nsw_goodBcid2",tgcTrigNswMap,[](
const TgcTrigNsw&
m){
2226 tgcCoin_variables.push_back(coin_inner_nsw_goodBcid2);
2227 auto coin_inner_nsw_goodTiming=
Monitored::Collection(
"coin_inner_nsw_goodTiming",tgcTrigNswMap,[](
const TgcTrigNsw&
m){
2228 return m.goodTiming;
2230 tgcCoin_variables.push_back(coin_inner_nsw_goodTiming);
2232 auto coin_inner_nsw_slInputIndex=
Monitored::Collection(
"coin_inner_nsw_slInputIndex",tgcTrigNswMap,[](
const TgcTrigNsw&
m){
2233 return m.slInputIndex;
2235 tgcCoin_variables.push_back(coin_inner_nsw_slInputIndex);
2236 auto coin_inner_nsw_slInputIndex_AEndcap=
Monitored::Collection(
"coin_inner_nsw_slInputIndex_AEndcap",tgcTrigNswMap,[](
const TgcTrigNsw&
m){
2237 return (
m.isAside==1 &&
m.isForward==0) ?
m.slInputIndex : -999;
2239 tgcCoin_variables.push_back(coin_inner_nsw_slInputIndex_AEndcap);
2240 auto coin_inner_nsw_slInputIndex_CEndcap=
Monitored::Collection(
"coin_inner_nsw_slInputIndex_CEndcap",tgcTrigNswMap,[](
const TgcTrigNsw&
m){
2241 return (
m.isAside==0 &&
m.isForward==0) ?
m.slInputIndex : -999;
2243 tgcCoin_variables.push_back(coin_inner_nsw_slInputIndex_CEndcap);
2244 auto coin_inner_nsw_slInputIndex_AForward=
Monitored::Collection(
"coin_inner_nsw_slInputIndex_AForward",tgcTrigNswMap,[](
const TgcTrigNsw&
m){
2245 return (
m.isAside==1 &&
m.isForward==1) ?
m.slInputIndex : -999;
2247 tgcCoin_variables.push_back(coin_inner_nsw_slInputIndex_AForward);
2248 auto coin_inner_nsw_slInputIndex_CForward=
Monitored::Collection(
"coin_inner_nsw_slInputIndex_CForward",tgcTrigNswMap,[](
const TgcTrigNsw&
m){
2249 return (
m.isAside==0 &&
m.isForward==1) ?
m.slInputIndex : -999;
2251 tgcCoin_variables.push_back(coin_inner_nsw_slInputIndex_CForward);
2253 auto coin_inner_nsw_goodTimingBcid0=
Monitored::Collection(
"coin_inner_nsw_goodTimingBcid0",tgcTrigNswMap,[](
const TgcTrigNsw&
m){
2254 return (
m.goodTiming==1 &&
m.goodBcid0==1);
2256 tgcCoin_variables.push_back(coin_inner_nsw_goodTimingBcid0);
2257 auto coin_inner_nsw_goodTimingBcid1=
Monitored::Collection(
"coin_inner_nsw_goodTimingBcid1",tgcTrigNswMap,[](
const TgcTrigNsw&
m){
2258 return (
m.goodTiming==1 &&
m.goodBcid1==1);
2260 tgcCoin_variables.push_back(coin_inner_nsw_goodTimingBcid1);
2261 auto coin_inner_nsw_goodTimingBcid2=
Monitored::Collection(
"coin_inner_nsw_goodTimingBcid2",tgcTrigNswMap,[](
const TgcTrigNsw&
m){
2262 return (
m.goodTiming==1 &&
m.goodBcid2==1);
2264 tgcCoin_variables.push_back(coin_inner_nsw_goodTimingBcid2);
2265 auto coin_inner_nsw_BcPrev=
Monitored::Collection(
"coin_inner_nsw_BcPrev",tgcTrigNswMap,[](
const TgcTrigNsw&
m){
2266 return m.deltaTiming==-1;
2268 tgcCoin_variables.push_back(coin_inner_nsw_BcPrev);
2269 auto coin_inner_nsw_BcCurr=
Monitored::Collection(
"coin_inner_nsw_BcCurr",tgcTrigNswMap,[](
const TgcTrigNsw&
m){
2270 return m.deltaTiming==0;
2272 tgcCoin_variables.push_back(coin_inner_nsw_BcCurr);
2273 auto coin_inner_nsw_BcNext=
Monitored::Collection(
"coin_inner_nsw_BcNext",tgcTrigNswMap,[](
const TgcTrigNsw&
m){
2274 return m.deltaTiming==1;
2276 tgcCoin_variables.push_back(coin_inner_nsw_BcNext);
2277 auto coin_inner_nsw_BcNextNext=
Monitored::Collection(
"coin_inner_nsw_BcNextNext",tgcTrigNswMap,[](
const TgcTrigNsw&
m){
2278 return m.deltaTiming==2;
2280 tgcCoin_variables.push_back(coin_inner_nsw_BcNextNext);
2283 auto coin_inner_tile_slSector=
Monitored::Collection(
"coin_inner_tile_slSector",tgcTrigTileMap,[](
const TgcTrigTile&
m){
2286 tgcCoin_variables.push_back(coin_inner_tile_slSector);
2287 auto coin_inner_tile_slSector_goodTiming=
Monitored::Collection(
"coin_inner_tile_slSector_goodTiming",tgcTrigTileMap,[](
const TgcTrigTile&
m){
2288 return (
m.goodTiming) ?
m.slSector : -999;
2290 tgcCoin_variables.push_back(coin_inner_tile_slSector_goodTiming);
2291 auto coin_inner_tile_roiEta=
Monitored::Collection(
"coin_inner_tile_roiEta",tgcTrigTileMap,[](
const TgcTrigTile&
m){
2294 tgcCoin_variables.push_back(coin_inner_tile_roiEta);
2295 auto coin_inner_tile_roiPhi=
Monitored::Collection(
"coin_inner_tile_roiPhi",tgcTrigTileMap,[](
const TgcTrigTile&
m){
2298 tgcCoin_variables.push_back(coin_inner_tile_roiPhi);
2299 auto coin_inner_tile_roiNum=
Monitored::Collection(
"coin_inner_tile_roiNum",tgcTrigTileMap,[](
const TgcTrigTile&
m){
2302 tgcCoin_variables.push_back(coin_inner_tile_roiNum);
2303 auto coin_inner_tile_deltaBcid=
Monitored::Collection(
"coin_inner_tile_deltaBcid",tgcTrigTileMap,[](
const TgcTrigTile&
m){
2306 tgcCoin_variables.push_back(coin_inner_tile_deltaBcid);
2307 auto coin_inner_tile_deltaTiming=
Monitored::Collection(
"coin_inner_tile_deltaTiming",tgcTrigTileMap,[](
const TgcTrigTile&
m){
2308 return m.deltaTiming;
2310 tgcCoin_variables.push_back(coin_inner_tile_deltaTiming);
2311 auto coin_inner_tile_tmdbDecisions=
Monitored::Collection(
"coin_inner_tile_tmdbDecisions",tgcTrigTileMap,[](
const TgcTrigTile&
m){
2312 return m.tmdbDecisions;
2314 tgcCoin_variables.push_back(coin_inner_tile_tmdbDecisions);
2315 auto coin_inner_tile_currBc=
Monitored::Collection(
"coin_inner_tile_currBc",tgcTrigTileMap,[](
const TgcTrigTile&
m){
2318 tgcCoin_variables.push_back(coin_inner_tile_currBc);
2319 auto coin_inner_tile_goodBcid0=
Monitored::Collection(
"coin_inner_tile_goodBcid0",tgcTrigTileMap,[](
const TgcTrigTile&
m){
2322 tgcCoin_variables.push_back(coin_inner_tile_goodBcid0);
2323 auto coin_inner_tile_goodBcid1=
Monitored::Collection(
"coin_inner_tile_goodBcid1",tgcTrigTileMap,[](
const TgcTrigTile&
m){
2326 tgcCoin_variables.push_back(coin_inner_tile_goodBcid1);
2327 auto coin_inner_tile_goodBcid2=
Monitored::Collection(
"coin_inner_tile_goodBcid2",tgcTrigTileMap,[](
const TgcTrigTile&
m){
2330 tgcCoin_variables.push_back(coin_inner_tile_goodBcid2);
2331 auto coin_inner_tile_goodTiming=
Monitored::Collection(
"coin_inner_tile_goodTiming",tgcTrigTileMap,[](
const TgcTrigTile&
m){
2332 return m.goodTiming;
2334 tgcCoin_variables.push_back(coin_inner_tile_goodTiming);
2336 auto coin_inner_tile2_slSector=
Monitored::Collection(
"coin_inner_tile2_slSector",tgcTrigTileMap_allmods,[](
const TgcTrigTile&
m){
2339 tgcCoin_variables.push_back(coin_inner_tile2_slSector);
2340 auto coin_inner_tile2_currBc=
Monitored::Collection(
"coin_inner_tile2_currBc",tgcTrigTileMap_allmods,[](
const TgcTrigTile&
m){
2343 tgcCoin_variables.push_back(coin_inner_tile2_currBc);
2344 auto coin_inner_tile2_tmdbDecisions=
Monitored::Collection(
"coin_inner_tile2_tmdbDecisions",tgcTrigTileMap_allmods,[](
const TgcTrigTile&
m){
2345 return m.tmdbDecisions;
2347 tgcCoin_variables.push_back(coin_inner_tile2_tmdbDecisions);
2350 auto coin_inner_eifi_slSector_goodTiming=
Monitored::Collection(
"coin_inner_eifi_slSector_goodTiming",tgcTrigEifiMap,[](
const TgcTrigEifi&
m){
2351 return (
m.goodTiming) ?
m.slSector : -999;
2353 tgcCoin_variables.push_back(coin_inner_eifi_slSector_goodTiming);
2354 auto coin_inner_eifi_slSector=
Monitored::Collection(
"coin_inner_eifi_slSector",tgcTrigEifiMap,[](
const TgcTrigEifi&
m){
2357 tgcCoin_variables.push_back(coin_inner_eifi_slSector);
2358 auto coin_inner_eifi_roiEta=
Monitored::Collection(
"coin_inner_eifi_roiEta",tgcTrigEifiMap,[](
const TgcTrigEifi&
m){
2361 tgcCoin_variables.push_back(coin_inner_eifi_roiEta);
2362 auto coin_inner_eifi_roiPhi=
Monitored::Collection(
"coin_inner_eifi_roiPhi",tgcTrigEifiMap,[](
const TgcTrigEifi&
m){
2365 tgcCoin_variables.push_back(coin_inner_eifi_roiPhi);
2366 auto coin_inner_eifi_roiNum=
Monitored::Collection(
"coin_inner_eifi_roiNum",tgcTrigEifiMap,[](
const TgcTrigEifi&
m){
2369 tgcCoin_variables.push_back(coin_inner_eifi_roiNum);
2370 auto coin_inner_eifi_deltaTiming=
Monitored::Collection(
"coin_inner_eifi_deltaTiming",tgcTrigEifiMap,[](
const TgcTrigEifi&
m){
2371 return m.deltaTiming;
2373 tgcCoin_variables.push_back(coin_inner_eifi_deltaTiming);
2374 auto coin_inner_eifi_currBc=
Monitored::Collection(
"coin_inner_eifi_currBc",tgcTrigEifiMap,[](
const TgcTrigEifi&
m){
2377 tgcCoin_variables.push_back(coin_inner_eifi_currBc);
2378 auto coin_inner_eifi_goodTiming=
Monitored::Collection(
"coin_inner_eifi_goodTiming",tgcTrigEifiMap,[](
const TgcTrigEifi&
m){
2379 return m.goodTiming;
2381 tgcCoin_variables.push_back(coin_inner_eifi_goodTiming);
2392 return StatusCode::SUCCESS;