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.
766 return StatusCode::FAILURE;
773 return StatusCode::SUCCESS;
780 const bool expressPass =
passBits & TrigDefs::Express_passed;
783 return StatusCode::SUCCESS;
791 return StatusCode::SUCCESS;
801 double primaryVertexZ = (primVertex!=
nullptr)?(primVertex->
z()):(-999);
817 std::map<const xAOD::MuonRoI*,std::set<std::string>> roiAndMenu;
818 std::map<std::string,std::vector<const xAOD::MuonRoI*>> menuAndRoIs;
823 std::vector < const xAOD::Muon* > oflmuons;
824 std::set < const xAOD::Muon* > biasedMuons;
825 std::vector < TimedMuon > mymuons;
826 std::map < std::string, std::vector< ExtPos > > extpositions;
827 std::vector< ExtPos > extpositions_pivot;
828 std::vector<double> deltaR_muons;
829 std::vector<double> deltaR_muons_roi;
830 std::vector<double> deltaR_muons_hlt;
831 std::vector<double> muon2pv_dz;
832 std::vector<double> muon2pv_dca;
833 std::vector<double> mymuon2pv_dz;
834 std::vector<double> mymuon2pv_dca;
837 if (!muons.isValid()) {
839 return StatusCode::SUCCESS;
842 for (
const auto muon : *muons) {
844 if (
muon ==
nullptr)
continue;
846 if (
muon->pt() < 1000.)
continue;
849 if (
muon->muonType() > xAOD::Muon::MuonType::MuonStandAlone )
continue;
851 oflmuons.push_back(
muon);
853 double dz=-999,dca=-999;
859 if(primVertex==
nullptr)
continue;
860 auto trackParticle =
muon->primaryTrackParticle();
861 if(trackParticle!=
nullptr){
862 dz = trackParticle->z0() - primVertex->
z();
863 dca = trackParticle->d0();
865 muon2pv_dz.push_back(dz);
866 muon2pv_dca.push_back(dca);
872 bool isolated =
true;
878 for(
const auto muon2 : *muons){
880 if (muon2 ==
nullptr)
continue;
883 if(
muon == muon2 )
continue;
886 if( muon2->pt() < 1000. )
continue;
890 if ( muon2->muonType() > xAOD::Muon::MuonType::MuonStandAlone )
continue;
894 ( (std::abs(
muon->eta()) < barrel_end && std::abs(muon2->eta()) < barrel_end) ||
895 (std::abs(
muon->eta()) > barrel_end && std::abs(muon2->eta()) > barrel_end) ) )
continue;
899 deltaR_muons.push_back(dr_muons);
910 for (
const auto &trigName : list_of_single_muon_triggers) {
913 const bool expressPass =
passBits & TrigDefs::Express_passed;
914 if(!expressPass)
continue;
918 ATH_MSG_DEBUG(
"This muon trigger, " << trigName <<
", is fired in this event!!");
923 for(
const auto& comb : fc.getCombinations()){
924 if(!comb.active())
continue;
926 for(
const auto& mucont : MuFeatureContainers){
927 if(mucont.empty())
continue;
928 if(mucont.te()==
nullptr)
continue;
929 if(!mucont.te()->getActiveState())
continue;
930 for(
const auto hltmu : *mucont.cptr()){
931 if (hltmu ==
nullptr)
continue;
932 if (hltmu->pt() < 1000.)
continue;
934 deltaR_muons_hlt.push_back(
dr);
938 biasedMuons.insert(muon2);
946 for (
const auto& aaa : features) {
947 if (!aaa.isValid())
continue;
948 auto hltmu_link = aaa.link;
949 if (!hltmu_link.isValid())
continue;
950 auto hltmu = *hltmu_link;
951 if (hltmu ==
nullptr)
continue;
952 if (hltmu->pt() < 1000.)
continue;
954 deltaR_muons_hlt.push_back(
dr);
958 biasedMuons.insert(muon2);
964 if(!probeOK)
continue;
968 double m2 = 2. *
muon->pt() * muon2->pt() * ( std::cosh(
muon->eta() - muon2->eta()) -
std::cos(
muon->phi() - muon2->phi()) );
969 double m = (
m2>0.) ? ( std::sqrt(
m2) ) : (0.);
970 double mdiff = std::abs(
m -
m_zMass );
974 ATH_MSG_DEBUG(
"Final condition of probleOK for this muon is: " << probeOK);
980 if(!probeOK)
continue;
986 if ( std::abs(
muon->eta()) > 0.5
989 if(
muon->eta()<0 &&
z>0 )
continue;
990 if(
muon->eta()>0 &&
z<0 )
continue;
991 xAOD::Muon::TrackParticleType trkPtclType;
999 if(trackParticle==
nullptr)
continue;
1000 auto matrix = std::make_unique<Amg::Transform3D>();
1002 matrix->translation().z() =
z;
1003 auto disc = std::make_unique < Trk::DiscSurface > (*
matrix,
1008 trackParticle->perigeeParameters(),
1013 if(extTrkParams !=
nullptr){
1014 if( std::abs(extTrkParams->position().z() -
z) > 10. )
continue;
1017 ext.extPos = extTrkParams->position();
1018 ext.extVec = extTrkParams->momentum();
1019 Amg::Vector3D extVec(extTrkParams->position().x(),extTrkParams->position().y(),
z);
1022 if( std::abs( std::abs(
z) -
m_M3_Z ) < 10. &&
1023 std::abs(
muon->eta() ) > 1.05 &&
1024 std::abs(
muon->eta() ) < 2.40){
1025 extpositions_pivot.push_back(
ext);
1027 for(
const auto& cham :
ext.passedChambers){
1028 extpositions[cham].push_back(
ext);
1034 mymuon.matchedL1Charge=
false;
1035 mymuon.passBW3Coin=
false;
1036 mymuon.passInnerCoin=
false;
1037 mymuon.passGoodMF=
false;
1038 mymuon.passIsMoreCandInRoI=
false;
1040 if (AllBCMuonRoIs.size()==0) {
1041 ATH_MSG_DEBUG(
"No RoI matching possible as no container has been retrieved");
1042 mymuons.push_back(mymuon);
1045 for(
const auto& allBcMuonRoI : AllBCMuonRoIs){
1048 deltaR_muons_roi.push_back(
dr);
1050 if(roiAndMenu.count(roi)>0)mymuon.matchedL1Items.insert( roiAndMenu[roi].
begin(), roiAndMenu[roi].
end() );
1051 mymuon.matchedL1ThrExclusive.insert( roi->
getThrNumber() );
1061 for (
int ithr = 1; ithr <= 15 ; ++ithr) {
1062 for (
const auto &
thr : mymuon.matchedL1ThrExclusive) {
1064 mymuon.matchedL1ThrInclusive.insert(ithr);
1068 for (
const auto &
thr : mymuon.matchedL1ThrExclusiveTGC) {
1070 mymuon.matchedL1ThrInclusiveTGC.insert(ithr);
1076 mymuons.push_back(mymuon);
1077 mymuon2pv_dz.push_back(dz);
1078 mymuon2pv_dca.push_back(dca);
1093 auto oflmuon_probe_muonType=
Monitored::Collection(
"oflmuon_probe_muonType",mymuons,[](
const TimedMuon&
m){
return m.muon->muonType();});
1094 auto oflmuon_probe_author=
Monitored::Collection(
"oflmuon_probe_author",mymuons,[](
const TimedMuon&
m){
return m.muon->author();});
1095 auto oflmuon_probe_quality=
Monitored::Collection(
"oflmuon_probe_quality",mymuons,[](
const TimedMuon&
m){
return m.muon->quality();});
1097 auto oflmuon_probe_eta=
Monitored::Collection(
"oflmuon_probe_eta",mymuons,[](
const TimedMuon&
m){
return m.muon->eta();});
1098 auto oflmuon_probe_phi=
Monitored::Collection(
"oflmuon_probe_phi",mymuons,[](
const TimedMuon&
m){
return m.muon->phi();});
1108 oflmuon_num,oflmuon_muonType,oflmuon_author,oflmuon_quality,oflmuon_pt,oflmuon_eta,oflmuon_phi,oflmuon_pvdz,oflmuon_pvdca,
1109 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,
1110 oflmuon_deltaR, oflmuon_deltaR_roi, oflmuon_deltaR_hlt
1116 oflmuon_variables.push_back(oflmuon_num);
1117 oflmuon_variables.push_back(oflmuon_muonType);
1118 oflmuon_variables.push_back(oflmuon_author);
1119 oflmuon_variables.push_back(oflmuon_quality);
1120 oflmuon_variables.push_back(oflmuon_pt);
1121 oflmuon_variables.push_back(oflmuon_eta);
1122 oflmuon_variables.push_back(oflmuon_phi);
1126 return m.muon->charge();
1128 oflmuon_variables.push_back(muon_charge);
1130 return (
m.muon->charge()>0);
1132 oflmuon_variables.push_back(muon_chargePos);
1134 return (
m.muon->charge()<0);
1136 oflmuon_variables.push_back(muon_chargeNeg);
1138 return (
m.muon->pt()>pt_4_cut)?
m.muon->eta():-10;
1140 oflmuon_variables.push_back(muon_eta4gev);
1142 return (
m.muon->pt()>pt_4_cut)?
m.muon->phi():-10;
1144 oflmuon_variables.push_back(muon_phi4gev);
1145 auto muon_phi4gev_1p05eta1p3 =
Monitored::Collection(
"muon_phi4gev_1p05eta1p3",mymuons,[](
const TimedMuon&
m){
1146 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;
1148 oflmuon_variables.push_back(muon_phi4gev_1p05eta1p3);
1149 auto muon_phi4gev_1p05eta1p3A =
Monitored::Collection(
"muon_phi4gev_1p05eta1p3A",mymuons,[](
const TimedMuon&
m){
1150 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;
1152 oflmuon_variables.push_back(muon_phi4gev_1p05eta1p3A);
1153 auto muon_phi4gev_1p05eta1p3C =
Monitored::Collection(
"muon_phi4gev_1p05eta1p3C",mymuons,[](
const TimedMuon&
m){
1154 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;
1156 oflmuon_variables.push_back(muon_phi4gev_1p05eta1p3C);
1157 auto muon_phi4gev_1p3eta2p4 =
Monitored::Collection(
"muon_phi4gev_1p3eta2p4",mymuons,[](
const TimedMuon&
m){
1158 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;
1160 oflmuon_variables.push_back(muon_phi4gev_1p3eta2p4);
1161 auto muon_phi4gev_1p3eta2p4A =
Monitored::Collection(
"muon_phi4gev_1p3eta2p4A",mymuons,[](
const TimedMuon&
m){
1162 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;
1164 oflmuon_variables.push_back(muon_phi4gev_1p3eta2p4A);
1165 auto muon_phi4gev_1p3eta2p4C =
Monitored::Collection(
"muon_phi4gev_1p3eta2p4C",mymuons,[](
const TimedMuon&
m){
1166 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;
1168 oflmuon_variables.push_back(muon_phi4gev_1p3eta2p4C);
1170 return (std::abs(
m.muon->eta()) < barrel_end &&
m.muon->pt() > pt_4_cut) ?
m.muon->phi() : -10;
1172 oflmuon_variables.push_back(muon_phi4gev_rpc);
1174 return (std::abs(
m.muon->eta()) < barrel_end &&
m.muon->pt() > pt_4_cut &&
m.muon->eta() > 0) ?
m.muon->phi() : -10;
1176 oflmuon_variables.push_back(muon_phi4gev_rpcA);
1178 return (std::abs(
m.muon->eta()) < barrel_end &&
m.muon->pt() > pt_4_cut &&
m.muon->eta() < 0) ?
m.muon->phi() : -10;
1180 oflmuon_variables.push_back(muon_phi4gev_rpcC);
1182 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;
1184 oflmuon_variables.push_back(muon_phi4gev_tgc);
1186 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;
1188 oflmuon_variables.push_back(muon_phi4gev_tgcA);
1190 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;
1192 oflmuon_variables.push_back(muon_phi4gev_tgcC);
1194 return (std::abs(
m.muon->eta()) > barrel_end && std::abs(
m.muon->eta()) < trigger_end) ?
m.muon->phi() : -10;
1196 oflmuon_variables.push_back(muon_phi0gev_tgc);
1198 return (std::abs(
m.muon->eta()) > barrel_end && std::abs(
m.muon->eta()) < trigger_end &&
m.muon->eta() > 0) ?
m.muon->phi() : -10;
1200 oflmuon_variables.push_back(muon_phi0gev_tgcA);
1202 return (std::abs(
m.muon->eta()) > barrel_end && std::abs(
m.muon->eta()) < trigger_end &&
m.muon->eta() < 0) ?
m.muon->phi() : -10;
1204 oflmuon_variables.push_back(muon_phi0gev_tgcC);
1206 return (
m.muon->pt() > pt_30_cut) ?
m.muon->eta() : -10;
1208 oflmuon_variables.push_back(muon_eta);
1210 return (
m.muon->pt() > pt_30_cut) ?
m.muon->phi() : -10;
1212 oflmuon_variables.push_back(muon_phi);
1214 return (std::abs(
m.muon->eta()) < barrel_end &&
m.muon->pt() > pt_30_cut) ?
m.muon->phi() : -10;
1216 oflmuon_variables.push_back(muon_phi_rpc);
1218 return (std::abs(
m.muon->eta()) < barrel_end &&
m.muon->pt() > pt_30_cut &&
m.muon->eta()>0) ?
m.muon->phi() : -10;
1220 oflmuon_variables.push_back(muon_phi_rpcA);
1222 return (std::abs(
m.muon->eta()) < barrel_end &&
m.muon->pt() > pt_30_cut &&
m.muon->eta()<0) ?
m.muon->phi() : -10;
1224 oflmuon_variables.push_back(muon_phi_rpcC);
1226 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;
1228 oflmuon_variables.push_back(muon_phi_tgc);
1230 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;
1232 oflmuon_variables.push_back(muon_phi_tgcA);
1234 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;
1236 oflmuon_variables.push_back(muon_phi_tgcC);
1240 oflmuon_variables.push_back(muon_pt_rpc);
1242 return (std::abs(
m.muon->eta()) > barrel_end && std::abs(
m.muon->eta()) < trigger_end) ?
m.muon->pt() /
Gaudi::Units::GeV : -10;
1244 oflmuon_variables.push_back(muon_pt_tgc);
1246 return (std::abs(
m.muon->eta()) < barrel_end);
1248 oflmuon_variables.push_back(muon_barrel);
1250 return (std::abs(
m.muon->eta()) > barrel_end && std::abs(
m.muon->eta()) < endcap_end);
1252 oflmuon_variables.push_back(muon_endcap);
1254 return (std::abs(
m.muon->eta()) > endcap_end && std::abs(
m.muon->eta()) < trigger_end);
1256 oflmuon_variables.push_back(muon_forward);
1258 return m.matchedL1ThrInclusiveTGC.find(1) !=
m.matchedL1ThrInclusiveTGC.end();
1260 oflmuon_variables.push_back(muon_l1passThr1TGC);
1262 return m.matchedL1ThrInclusive.find(1) !=
m.matchedL1ThrInclusive.end();
1264 oflmuon_variables.push_back(muon_l1passThr1);
1266 return m.matchedL1ThrInclusive.find(2) !=
m.matchedL1ThrInclusive.end();
1268 oflmuon_variables.push_back(muon_l1passThr2);
1270 return m.matchedL1ThrInclusive.find(3) !=
m.matchedL1ThrInclusive.end();
1272 oflmuon_variables.push_back(muon_l1passThr3);
1274 return m.matchedL1ThrInclusive.find(4) !=
m.matchedL1ThrInclusive.end();
1276 oflmuon_variables.push_back(muon_l1passThr4);
1278 return m.matchedL1ThrInclusive.find(5) !=
m.matchedL1ThrInclusive.end();
1280 oflmuon_variables.push_back(muon_l1passThr5);
1282 return m.matchedL1ThrInclusive.find(6) !=
m.matchedL1ThrInclusive.end();
1284 oflmuon_variables.push_back(muon_l1passThr6);
1286 return m.matchedL1ThrInclusive.find(7) !=
m.matchedL1ThrInclusive.end();
1288 oflmuon_variables.push_back(muon_l1passThr7);
1290 return m.matchedL1ThrInclusive.find(8) !=
m.matchedL1ThrInclusive.end();
1292 oflmuon_variables.push_back(muon_l1passThr8);
1294 return m.matchedL1ThrInclusive.find(9) !=
m.matchedL1ThrInclusive.end();
1296 oflmuon_variables.push_back(muon_l1passThr9);
1298 return m.matchedL1ThrInclusive.find(10) !=
m.matchedL1ThrInclusive.end();
1300 oflmuon_variables.push_back(muon_l1passThr10);
1302 return m.matchedL1ThrInclusive.find(11) !=
m.matchedL1ThrInclusive.end();
1304 oflmuon_variables.push_back(muon_l1passThr11);
1306 return m.matchedL1ThrInclusive.find(12) !=
m.matchedL1ThrInclusive.end();
1308 oflmuon_variables.push_back(muon_l1passThr12);
1310 return m.matchedL1ThrInclusive.find(13) !=
m.matchedL1ThrInclusive.end();
1312 oflmuon_variables.push_back(muon_l1passThr13);
1314 return m.matchedL1ThrInclusive.find(14) !=
m.matchedL1ThrInclusive.end();
1316 oflmuon_variables.push_back(muon_l1passThr14);
1318 return m.matchedL1ThrInclusive.find(15) !=
m.matchedL1ThrInclusive.end();
1320 oflmuon_variables.push_back(muon_l1passThr15);
1322 return m.matchedL1Charge;
1324 oflmuon_variables.push_back(muon_l1passCharge);
1326 return m.passBW3Coin;
1328 oflmuon_variables.push_back(muon_l1passBW3Coin);
1329 auto muon_l1passBW3CoinVeto =
Monitored::Collection(
"muon_l1passBW3CoinVeto",mymuons,[](
const TimedMuon&
m){
1330 return !
m.passBW3Coin;
1332 oflmuon_variables.push_back(muon_l1passBW3CoinVeto);
1334 return m.passInnerCoin;
1336 oflmuon_variables.push_back(muon_l1passInnerCoin);
1337 auto muon_l1passInnerCoinVeto =
Monitored::Collection(
"muon_l1passInnerCoinVeto",mymuons,[](
const TimedMuon&
m){
1338 return !
m.passInnerCoin;
1340 oflmuon_variables.push_back(muon_l1passInnerCoinVeto);
1342 return m.passGoodMF;
1344 oflmuon_variables.push_back(muon_l1passGoodMF);
1346 return !
m.passGoodMF;
1348 oflmuon_variables.push_back(muon_l1passBadMF);
1349 auto muon_l1passIsMoreCandInRoI =
Monitored::Collection(
"muon_l1passIsMoreCandInRoI",mymuons,[](
const TimedMuon&
m){
1350 return m.passIsMoreCandInRoI;
1352 oflmuon_variables.push_back(muon_l1passIsMoreCandInRoI);
1355 ATH_MSG_DEBUG(
"End filling offline muon-related histograms");
1370 if (!tgcCoinCurr.isValid() || !tgcCoinNext.isValid() || !tgcCoinPrev.isValid()) {
1374 std::map<int, SG::ReadHandle<Muon::TgcCoinDataContainer> > tgcCoin;
1375 tgcCoin[-1] = tgcCoinPrev;
1376 tgcCoin[0] = tgcCoinCurr;
1377 tgcCoin[+1] = tgcCoinNext;
1380 if(tgcCoinNextNext.isValid())tgcCoin[+2] = tgcCoinNextNext;
1382 std::vector< TgcTrig > tgcTrigMap_SL;
1383 std::vector< TgcTrig > tgcTrigMap_SL_Endcap;
1384 std::vector< TgcTrig > tgcTrigMap_SL_Forward;
1385 std::vector< TgcTrig > tgcTrigMap_HPT_Wire;
1386 std::vector< TgcTrig > tgcTrigMap_HPT_Endcap_Wire;
1387 std::vector< TgcTrig > tgcTrigMap_HPT_Forward_Wire;
1388 std::vector< TgcTrig > tgcTrigMap_HPT_Strip;
1389 std::vector< TgcTrig > tgcTrigMap_HPT_Endcap_Strip;
1390 std::vector< TgcTrig > tgcTrigMap_HPT_Forward_Strip;
1391 std::vector< TgcTrig > tgcTrigMap_LPT_Wire;
1392 std::vector< TgcTrig > tgcTrigMap_LPT_Endcap_Wire;
1393 std::vector< TgcTrig > tgcTrigMap_LPT_Forward_Wire;
1394 std::vector< TgcTrig > tgcTrigMap_LPT_Strip;
1395 std::vector< TgcTrig > tgcTrigMap_LPT_Endcap_Strip;
1396 std::vector< TgcTrig > tgcTrigMap_LPT_Forward_Strip;
1397 std::vector< TgcTrig > tgcTrigMap_EIFI_Wire;
1398 std::vector< TgcTrig > tgcTrigMap_EIFI_Endcap_Wire;
1399 std::vector< TgcTrig > tgcTrigMap_EIFI_Forward_Wire;
1400 std::vector< TgcTrig > tgcTrigMap_EIFI_Strip;
1401 std::vector< TgcTrig > tgcTrigMap_EIFI_Endcap_Strip;
1402 std::vector< TgcTrig > tgcTrigMap_EIFI_Forward_Strip;
1403 std::vector< TgcTrigTile > tgcTrigTileMap;
1404 std::vector< TgcTrigNsw > tgcTrigNswMap;
1405 std::vector< TgcTrigRpc > tgcTrigRpcMap;
1406 std::vector< TgcTrigEifi > tgcTrigEifiMap;
1407 std::map<TString, TgcTrigNsw > tgcTrigNswMapUnique;
1408 std::vector<int> multiplicity_endcap(number_of_trigger_sectors_endcap*2+1);
1409 std::vector<int> multiplicity_forward(number_of_trigger_sectors_forward*2+1);
1410 std::vector<int> sectors_endcap(number_of_trigger_sectors_endcap*2+1);
1411 std::vector<int> sectors_forward(number_of_trigger_sectors_forward*2+1);
1412 std::iota(sectors_endcap.begin(),sectors_endcap.end(),-number_of_trigger_sectors_endcap);
1413 std::iota(sectors_forward.begin(),sectors_forward.end(),-number_of_trigger_sectors_forward);
1414 int n_TgcCoin_detElementIsNull = 0;
1415 int n_TgcCoin_postOutPtrIsNull = 0;
1416 for (
auto thisCoin : tgcCoin) {
1417 int bunch = thisCoin.first;
1418 for (
const auto tgccnt : *(thisCoin.second)) {
1419 for (
const auto data : *tgccnt) {
1420 if (
data->detectorElementOut() ==
nullptr ) n_TgcCoin_detElementIsNull++;
1421 if (
data->posOutPtr() ==
nullptr ) n_TgcCoin_postOutPtrIsNull++;
1423 int slsector = (
data->isForward()) ? (
data->phi() % number_of_trigger_sectors_forward + 1) : ( (
data->phi() + 1) % number_of_trigger_sectors_endcap + 1);
1424 if(!
data->isAside()) slsector *= -1;
1427 if (
data->isInner() &&
data->isStrip()) {
1429 rpcCoin.slSector = slsector;
1431 rpcCoin.bunch = bunch;
1432 rpcCoin.currBc = (bunch==0);
1437 tgcTrigRpcMap.push_back(rpcCoin);
1438 }
else if (
data->isInner() && !
data->isStrip()) {
1440 nswCoin.slSector = slsector;
1442 int boardID = (std::abs(nswCoin.slSector)-1) / 2 + 1;
1443 nswCoin.slInputIndex = (boardID-1) * 6 + nswCoin.slInput;
1444 nswCoin.isAside =
data->isAside();
1445 nswCoin.isForward =
data->isForward();
1447 nswCoin.bunch = bunch;
1448 nswCoin.currBc = (bunch==0);
1452 if(nswCoin.R!=0 && nswCoin.Phi!=0){
1453 tgcTrigNswMap.push_back(nswCoin);
1454 TString uniqueinfo = Form(
"%d:%d:%d:%d:%d:%d:%d:%d",nswCoin.slSector,nswCoin.slInput,nswCoin.slInputIndex,nswCoin.isAside,nswCoin.isForward,nswCoin.R,nswCoin.Phi,nswCoin.deltaTheta);
1455 if(tgcTrigNswMapUnique.find(uniqueinfo)==tgcTrigNswMapUnique.end()){
1456 nswCoin.bcmask = 0x1 << (1-bunch);
1457 tgcTrigNswMapUnique[uniqueinfo] = nswCoin;
1459 tgcTrigNswMapUnique[uniqueinfo].bcmask |= 0x1 << (1-bunch);
1462 }
else if (!
data->isInner() &&
data->isStrip()) {
1463 TgcTrigTile tileCoin;
1464 tileCoin.slSector = slsector;
1466 tileCoin.bunch = bunch;
1467 tileCoin.currBc = (bunch==0);
1469 if(tileCoin.tmdbDecisions!=0)
1470 tgcTrigTileMap.push_back(tileCoin);
1471 }
else if (!
data->isInner() && !
data->isStrip()) {
1472 TgcTrigEifi eifiCoin;
1473 eifiCoin.slSector = slsector;
1474 eifiCoin.bunch = bunch;
1475 eifiCoin.currBc = (bunch==0);
1476 tgcTrigEifiMap.push_back(eifiCoin);
1480 if (
data->detectorElementOut() ==
nullptr ||
1481 data->posOutPtr() == nullptr )
continue;
1485 tgcTrig.x_In = posIn[0];
1486 tgcTrig.y_In = posIn[1];
1487 tgcTrig.z_In = posIn[2];
1489 tgcTrig.x_Out = posOut[0];
1490 tgcTrig.y_Out = posOut[1];
1491 tgcTrig.z_Out = posOut[2];
1492 tgcTrig.eta = posOut.eta();
1493 tgcTrig.phi = posOut.phi();
1494 tgcTrig.width_In =
data->widthIn();
1495 tgcTrig.width_Out =
data->widthOut();
1498 tgcTrig.width_R =
matrix(0, 0);
1499 tgcTrig.width_Phi =
matrix(1, 1);
1501 tgcTrig.muonMatched = 0;
1502 for(
const auto&
ext : extpositions_pivot){
1504 if(
data->isAside() &&
ext.extPos.z()<0)
continue;
1505 if(!
data->isAside()&&
ext.extPos.z()>0)
continue;
1507 tgcTrig.muonMatched = 1;
1511 tgcTrig.loosemuonMatched = 0;
1512 for (
const auto&
muon : oflmuons) {
1515 if(
dr > max_dr )
continue;
1516 tgcTrig.loosemuonMatched = 1;
1520 tgcTrig.isBiased = 0;
1521 for(
const auto&
muon : biasedMuons){
1524 if(
dr > max_dr )
continue;
1525 tgcTrig.isBiased = 1;
1531 if(biasedMuons.size()>=2) tgcTrig.isBiased = 0;
1534 tgcTrig.width_R = 0.;
1535 tgcTrig.width_Phi = 0.;
1541 etaout = std::abs(
int(
m_idHelperSvc->tgcIdHelper().stationEta(tcdidout)));
1545 etain = std::abs(
int(
m_idHelperSvc->tgcIdHelper().stationEta(tcdidin)));
1547 tgcTrig.etaout = etaout;
1548 tgcTrig.etain = etain;
1549 tgcTrig.isAside =
data->isAside();
1550 tgcTrig.isForward =
data->isForward();
1551 tgcTrig.isStrip =
data->isStrip();
1552 tgcTrig.isInner =
data->isInner();
1553 tgcTrig.isPositiveDeltaR =
data->isPositiveDeltaR();
1554 tgcTrig.type =
data->type();
1555 tgcTrig.trackletId =
data->trackletId();
1556 tgcTrig.trackletIdStrip =
data->trackletIdStrip();
1557 tgcTrig.sector = slsector;
1558 tgcTrig.roi =
data->roi();
1559 tgcTrig.pt =
data->pt();
1560 tgcTrig.delta =
data->delta();
1561 tgcTrig.sub =
data->sub();
1562 tgcTrig.veto =
data->veto();
1563 tgcTrig.bunch = bunch;
1565 tgcTrig.inner =
data->inner();
1566 if( !
data->isInner() ){
1568 tgcTrigMap_SL_Endcap.push_back(tgcTrig);
1569 tgcTrigMap_SL.push_back(tgcTrig);
1570 multiplicity_endcap[ slsector + number_of_trigger_sectors_endcap ]++;
1572 tgcTrigMap_SL_Forward.push_back(tgcTrig);
1573 tgcTrigMap_SL.push_back(tgcTrig);
1574 multiplicity_forward[ slsector + number_of_trigger_sectors_forward ]++;
1576 if(tgcTrig.isStrip){
1577 tgcTrigMap_HPT_Endcap_Strip.push_back(tgcTrig);
1578 tgcTrigMap_HPT_Strip.push_back(tgcTrig);
1580 tgcTrigMap_HPT_Endcap_Wire.push_back(tgcTrig);
1581 tgcTrigMap_HPT_Wire.push_back(tgcTrig);
1584 if(tgcTrig.isStrip){
1585 tgcTrigMap_HPT_Forward_Strip.push_back(tgcTrig);
1586 tgcTrigMap_HPT_Strip.push_back(tgcTrig);
1588 tgcTrigMap_HPT_Forward_Wire.push_back(tgcTrig);
1589 tgcTrigMap_HPT_Wire.push_back(tgcTrig);
1592 if(tgcTrig.isStrip){
1593 tgcTrigMap_LPT_Endcap_Strip.push_back(tgcTrig);
1594 tgcTrigMap_LPT_Strip.push_back(tgcTrig);
1596 tgcTrigMap_LPT_Endcap_Wire.push_back(tgcTrig);
1597 tgcTrigMap_LPT_Wire.push_back(tgcTrig);
1600 if(tgcTrig.isStrip){
1601 tgcTrigMap_LPT_Forward_Strip.push_back(tgcTrig);
1602 tgcTrigMap_LPT_Strip.push_back(tgcTrig);
1604 tgcTrigMap_LPT_Forward_Wire.push_back(tgcTrig);
1605 tgcTrigMap_LPT_Wire.push_back(tgcTrig);
1608 if(tgcTrig.isStrip){
1609 tgcTrigMap_EIFI_Endcap_Strip.push_back(tgcTrig);
1610 tgcTrigMap_EIFI_Strip.push_back(tgcTrig);
1612 tgcTrigMap_EIFI_Endcap_Wire.push_back(tgcTrig);
1613 tgcTrigMap_EIFI_Wire.push_back(tgcTrig);
1616 if(tgcTrig.isStrip){
1617 tgcTrigMap_EIFI_Forward_Strip.push_back(tgcTrig);
1618 tgcTrigMap_EIFI_Strip.push_back(tgcTrig);
1620 tgcTrigMap_EIFI_Forward_Wire.push_back(tgcTrig);
1621 tgcTrigMap_EIFI_Wire.push_back(tgcTrig);
1632 for(
auto& sl : tgcTrigMap_SL){
1633 if( sl.bunch != 0 )
continue;
1634 for(
auto& inner : tgcTrigRpcMap){
1635 if( sl.isForward == 1 )
break;
1636 if( sl.sector != inner.slSector )
continue;
1637 inner.roiEta = sl.eta;
1638 inner.roiPhi = sl.phi;
1639 inner.roiNum = sl.roi;
1640 inner.deltaBcid = (sl.bunch==0 && sl.muonMatched==1 && sl.isBiased==0) ? (inner.bcid - sl.bcid) : -999;
1641 inner.deltaTiming = (sl.bunch==0 && sl.muonMatched==1 && sl.isBiased==0) ? (inner.bunch - sl.bunch) : -999;
1642 inner.goodBcid0 = inner.deltaBcid==0;
1643 inner.goodBcid1 = (std::abs(inner.deltaBcid)<=1 || (16-std::abs(inner.deltaBcid))<=1);
1644 inner.goodBcid2 = (std::abs(inner.deltaBcid)<=2 || (16-std::abs(inner.deltaBcid))<=2);
1645 inner.goodTiming = (inner.bunch==sl.bunch && sl.bunch==0 && sl.muonMatched==1 && sl.isBiased==0);
1646 sl.rpc.push_back(&inner);
1648 for(
auto& inner : tgcTrigNswMap){
1649 if( sl.sector != inner.slSector )
continue;
1650 if( sl.isForward != inner.isForward )
continue;
1652 inner.roiEta = sl.eta;
1653 inner.roiPhi = sl.phi;
1654 inner.roiNum = sl.roi;
1656 inner.deltaBcid = (sl.bunch==0 && sl.muonMatched==1 && sl.isBiased==0) ? (inner.bcid - sl.bcid) : -999;
1657 inner.deltaTiming = (sl.bunch==0 && sl.muonMatched==1 && sl.isBiased==0) ? (inner.bunch - sl.bunch) : -999;
1658 inner.goodBcid0 = inner.deltaBcid==0;
1659 inner.goodBcid1 = (std::abs(inner.deltaBcid)<=1 || (16-std::abs(inner.deltaBcid))<=1);
1660 inner.goodBcid2 = (std::abs(inner.deltaBcid)<=2 || (16-std::abs(inner.deltaBcid))<=2);
1661 inner.goodTiming = (inner.bunch==sl.bunch && sl.bunch==0 && sl.muonMatched==1 && sl.isBiased==0);
1662 sl.nsw.push_back(&inner);
1665 for(
auto& inner : tgcTrigNswMapUnique){
1666 if( sl.sector != inner.second.slSector )
continue;
1667 if( sl.isForward != inner.second.isForward )
continue;
1669 inner.second.roiEta = sl.eta;
1670 inner.second.roiPhi = sl.phi;
1671 inner.second.roiNum = sl.roi;
1673 inner.second.deltaBcid = (sl.bunch==0 && sl.muonMatched==1 && sl.isBiased==0) ? (inner.second.bcid - sl.bcid) : -999;
1674 inner.second.deltaTiming = (sl.bunch==0 && sl.muonMatched==1 && sl.isBiased==0) ? (inner.second.bunch - sl.bunch) : -999;
1675 inner.second.goodBcid0 = inner.second.deltaBcid==0;
1676 inner.second.goodBcid1 = (std::abs(inner.second.deltaBcid)<=1 || (16-std::abs(inner.second.deltaBcid))<=1);
1677 inner.second.goodBcid2 = (std::abs(inner.second.deltaBcid)<=2 || (16-std::abs(inner.second.deltaBcid))<=2);
1678 inner.second.goodTiming = (inner.second.bunch==sl.bunch && sl.bunch==0 && sl.muonMatched==1 && sl.isBiased==0);
1679 sl.nsw_unique.push_back(&inner.second);
1682 for(
auto& inner : tgcTrigTileMap){
1683 if( sl.isForward == 1 )
break;
1684 if( sl.sector != inner.slSector )
continue;
1685 inner.roiEta = sl.eta;
1686 inner.roiPhi = sl.phi;
1687 inner.roiNum = sl.roi;
1688 inner.deltaBcid = (sl.bunch==0 && sl.muonMatched==1 && sl.isBiased==0) ? (inner.bcid - sl.bcid) : -999;
1689 inner.deltaTiming = (sl.bunch==0 && sl.muonMatched==1 && sl.isBiased==0) ? (inner.bunch - sl.bunch) : -999;
1690 inner.goodBcid0 = inner.deltaBcid==0;
1691 inner.goodBcid1 = (std::abs(inner.deltaBcid)<=1 || (16-std::abs(inner.deltaBcid))<=1);
1692 inner.goodBcid2 = (std::abs(inner.deltaBcid)<=2 || (16-std::abs(inner.deltaBcid))<=2);
1693 inner.goodTiming = (inner.bunch==sl.bunch && sl.bunch==0 && sl.muonMatched==1 && sl.isBiased==0);
1694 sl.tile.push_back(&inner);
1696 for(
auto& inner : tgcTrigEifiMap){
1697 if( sl.isForward == 1 )
break;
1698 if( sl.sector != inner.slSector )
continue;
1699 inner.roiEta = sl.eta;
1700 inner.roiPhi = sl.phi;
1701 inner.roiNum = sl.roi;
1702 inner.deltaTiming = (sl.bunch==0 && sl.muonMatched==1 && sl.isBiased==0) ? (inner.bunch - sl.bunch) : -999;
1703 inner.goodTiming = (inner.bunch==sl.bunch && sl.bunch==0 && sl.muonMatched==1 && sl.isBiased==0);
1704 sl.eifi.push_back(&inner);
1708 std::vector< TgcTrigTile > tgcTrigTileMap_allmods;
1709 for(
auto& inner : tgcTrigTileMap){
1710 if(inner.roiNum<0)
continue;
1711 for(
int i = 0 ;
i < 12 ;
i++){
1712 TgcTrigTile inner2 = inner;
1713 if((inner.tmdbDecisions>>
i) & 0x1){
1714 inner2.tmdbDecisions = (
i+3)%3 + 1;
1715 tgcTrigTileMap_allmods.push_back(inner2);
1723 tgcCoin_variables.push_back(mon_bcid);
1724 tgcCoin_variables.push_back(mon_pileup);
1725 tgcCoin_variables.push_back(mon_lb);
1727 auto mon_nTgcCoin_detElementIsNull =
Monitored::Scalar<int>(
"nTgcCoinDetElementIsNull", n_TgcCoin_detElementIsNull);
1728 auto mon_nTgcCoin_postOutPtrIsNull =
Monitored::Scalar<int>(
"nTgcCoinPostOutPtrIsNull", n_TgcCoin_postOutPtrIsNull);
1731 auto mon_multiplicity_endcap =
Monitored::Collection(
"trigger_multiplicity_endcap", multiplicity_endcap);
1732 auto mon_multiplicity_forward =
Monitored::Collection(
"trigger_multiplicity_forward", multiplicity_forward);
1733 tgcCoin_variables.emplace_back(mon_nTgcCoin_detElementIsNull);
1734 tgcCoin_variables.emplace_back(mon_nTgcCoin_postOutPtrIsNull);
1735 tgcCoin_variables.emplace_back(mon_sectors_endcap);
1736 tgcCoin_variables.emplace_back(mon_sectors_forward);
1737 tgcCoin_variables.emplace_back(mon_multiplicity_endcap);
1738 tgcCoin_variables.emplace_back(mon_multiplicity_forward);
1741 std::vector<Monitored::ObjectsCollection<std::vector<TgcTrig>,
double>> vo_coin;
1742 vo_coin.reserve(38 * 21);
1744 fillTgcCoin(
"SL",tgcTrigMap_SL,vo_coin,tgcCoin_variables);
1745 fillTgcCoin(
"SL_Endcap",tgcTrigMap_SL_Endcap,vo_coin,tgcCoin_variables);
1746 fillTgcCoin(
"SL_Forward",tgcTrigMap_SL_Forward,vo_coin,tgcCoin_variables);
1747 fillTgcCoin(
"HPT_Wire",tgcTrigMap_HPT_Wire,vo_coin,tgcCoin_variables);
1748 fillTgcCoin(
"HPT_Endcap_Wire",tgcTrigMap_HPT_Endcap_Wire,vo_coin,tgcCoin_variables);
1749 fillTgcCoin(
"HPT_Forward_Wire",tgcTrigMap_HPT_Forward_Wire,vo_coin,tgcCoin_variables);
1750 fillTgcCoin(
"HPT_Strip",tgcTrigMap_HPT_Strip,vo_coin,tgcCoin_variables);
1751 fillTgcCoin(
"HPT_Endcap_Strip",tgcTrigMap_HPT_Endcap_Strip,vo_coin,tgcCoin_variables);
1752 fillTgcCoin(
"HPT_Forward_Strip",tgcTrigMap_HPT_Forward_Strip,vo_coin,tgcCoin_variables);
1753 fillTgcCoin(
"LPT_Wire",tgcTrigMap_LPT_Wire,vo_coin,tgcCoin_variables);
1754 fillTgcCoin(
"LPT_Endcap_Wire",tgcTrigMap_LPT_Endcap_Wire,vo_coin,tgcCoin_variables);
1755 fillTgcCoin(
"LPT_Forward_Wire",tgcTrigMap_LPT_Forward_Wire,vo_coin,tgcCoin_variables);
1756 fillTgcCoin(
"LPT_Strip",tgcTrigMap_LPT_Strip,vo_coin,tgcCoin_variables);
1757 fillTgcCoin(
"LPT_Endcap_Strip",tgcTrigMap_LPT_Endcap_Strip,vo_coin,tgcCoin_variables);
1758 fillTgcCoin(
"LPT_Forward_Strip",tgcTrigMap_LPT_Forward_Strip,vo_coin,tgcCoin_variables);
1759 fillTgcCoin(
"EIFI_Wire",tgcTrigMap_EIFI_Wire,vo_coin,tgcCoin_variables);
1760 fillTgcCoin(
"EIFI_Endcap_Wire",tgcTrigMap_EIFI_Endcap_Wire,vo_coin,tgcCoin_variables);
1761 fillTgcCoin(
"EIFI_Forward_Wire",tgcTrigMap_EIFI_Forward_Wire,vo_coin,tgcCoin_variables);
1762 fillTgcCoin(
"EIFI_Strip",tgcTrigMap_EIFI_Strip,vo_coin,tgcCoin_variables);
1763 fillTgcCoin(
"EIFI_Endcap_Strip",tgcTrigMap_EIFI_Endcap_Strip,vo_coin,tgcCoin_variables);
1764 fillTgcCoin(
"EIFI_Forward_Strip",tgcTrigMap_EIFI_Forward_Strip,vo_coin,tgcCoin_variables);
1766 std::vector<Monitored::ObjectsCollection<std::vector<ExtTrigInfo>,
double>> vo_exttriginfo;
1767 vo_exttriginfo.reserve(13 * 5);
1768 std::vector<ExtTrigInfo> extTrigInfo_SL;
1769 std::vector<ExtTrigInfo> extTrigInfo_HPT_Wire;
1770 std::vector<ExtTrigInfo> extTrigInfo_HPT_Strip;
1771 std::vector<ExtTrigInfo> extTrigInfo_LPT_Wire;
1772 std::vector<ExtTrigInfo> extTrigInfo_LPT_Strip;
1773 fillTgcCoinEff(
"SL",tgcTrigMap_SL,extpositions_pivot,extTrigInfo_SL,vo_exttriginfo,tgcCoin_variables);
1774 fillTgcCoinEff(
"HPT_Wire",tgcTrigMap_HPT_Wire,extpositions_pivot,extTrigInfo_HPT_Wire,vo_exttriginfo,tgcCoin_variables);
1775 fillTgcCoinEff(
"HPT_Strip",tgcTrigMap_HPT_Strip,extpositions_pivot,extTrigInfo_HPT_Strip,vo_exttriginfo,tgcCoin_variables);
1776 fillTgcCoinEff(
"LPT_Wire",tgcTrigMap_LPT_Wire,extpositions_pivot,extTrigInfo_LPT_Wire,vo_exttriginfo,tgcCoin_variables);
1777 fillTgcCoinEff(
"LPT_Strip",tgcTrigMap_LPT_Strip,extpositions_pivot,extTrigInfo_LPT_Strip,vo_exttriginfo,tgcCoin_variables);
1783 tgcCoin_variables.push_back(coin_inner_tgc_roi);
1784 auto coin_inner_tgc_sector=
Monitored::Collection(
"coin_inner_tgc_sector",tgcTrigMap_SL,[](
const TgcTrig&
m){
1785 return (
m.bunch==0 &&
m.muonMatched==1 &&
m.isBiased==0) ? (
m.sector) : -999;
1787 tgcCoin_variables.push_back(coin_inner_tgc_sector);
1788 auto coin_inner_tgc_fake_sector=
Monitored::Collection(
"coin_inner_tgc_fake_sector",tgcTrigMap_SL,[](
const TgcTrig&
m){
1789 return (
m.bunch==0 &&
m.muonMatched==0 &&
m.loosemuonMatched==0 &&
m.isBiased==0) ? (
m.sector) : -999;
1791 tgcCoin_variables.push_back(coin_inner_tgc_fake_sector);
1794 return (
m.bunch==0 &&
m.muonMatched==1 &&
m.isBiased==0) ? (
m.eta) : -999;
1796 tgcCoin_variables.push_back(coin_inner_tgc_eta);
1798 return (
m.bunch==0 &&
m.muonMatched==1 &&
m.isBiased==0) ? (
m.phi) : -999;
1800 tgcCoin_variables.push_back(coin_inner_tgc_phi);
1802 auto coin_inner_tgc_fake_eta=
Monitored::Collection(
"coin_inner_tgc_fake_eta",tgcTrigMap_SL,[](
const TgcTrig&
m){
1803 return (
m.bunch==0 &&
m.muonMatched==0 &&
m.loosemuonMatched==0 &&
m.isBiased==0) ? (
m.eta) : -999;
1805 tgcCoin_variables.push_back(coin_inner_tgc_fake_eta);
1806 auto coin_inner_tgc_fake_phi=
Monitored::Collection(
"coin_inner_tgc_fake_phi",tgcTrigMap_SL,[](
const TgcTrig&
m){
1807 return (
m.bunch==0 &&
m.muonMatched==0 &&
m.loosemuonMatched==0 &&
m.isBiased==0) ? (
m.phi) : -999;
1809 tgcCoin_variables.push_back(coin_inner_tgc_fake_phi);
1811 auto coin_inner_tgc_forward=
Monitored::Collection(
"coin_inner_tgc_forward",tgcTrigMap_SL,[](
const TgcTrig&
m){
1812 return m.isForward==1;
1814 tgcCoin_variables.push_back(coin_inner_tgc_forward);
1815 auto coin_inner_tgc_endcap=
Monitored::Collection(
"coin_inner_tgc_endcap",tgcTrigMap_SL,[](
const TgcTrig&
m){
1816 return m.isForward==0;
1818 tgcCoin_variables.push_back(coin_inner_tgc_endcap);
1819 auto coin_inner_tgc_etaupto1p3=
Monitored::Collection(
"coin_inner_tgc_etaupto1p3",tgcTrigMap_SL,[](
const TgcTrig&
m){
1820 return std::abs(
m.eta) < 1.3;
1822 tgcCoin_variables.push_back(coin_inner_tgc_etaupto1p3);
1823 auto coin_inner_tgc_etafrom1p3_endcap=
Monitored::Collection(
"coin_inner_tgc_etafrom1p3_endcap",tgcTrigMap_SL,[](
const TgcTrig&
m){
1824 return std::abs(
m.eta) > 1.3 &&
m.isForward==0;
1826 tgcCoin_variables.push_back(coin_inner_tgc_etafrom1p3_endcap);
1828 auto coin_inner_tgc_coinflagEifi=
Monitored::Collection(
"coin_inner_tgc_coinflagEifi",tgcTrigMap_SL,[](
const TgcTrig&
m){
1831 tgcCoin_variables.push_back(coin_inner_tgc_coinflagEifi);
1832 auto coin_inner_tgc_coinflagTile=
Monitored::Collection(
"coin_inner_tgc_coinflagTile",tgcTrigMap_SL,[](
const TgcTrig&
m){
1835 tgcCoin_variables.push_back(coin_inner_tgc_coinflagTile);
1836 auto coin_inner_tgc_coinflagRpc=
Monitored::Collection(
"coin_inner_tgc_coinflagRpc",tgcTrigMap_SL,[](
const TgcTrig&
m){
1839 tgcCoin_variables.push_back(coin_inner_tgc_coinflagRpc);
1840 auto coin_inner_tgc_coinflagNsw=
Monitored::Collection(
"coin_inner_tgc_coinflagNsw",tgcTrigMap_SL,[](
const TgcTrig&
m){
1843 tgcCoin_variables.push_back(coin_inner_tgc_coinflagNsw);
1844 auto coin_inner_tgc_coinflagC=
Monitored::Collection(
"coin_inner_tgc_coinflagC",tgcTrigMap_SL,[](
const TgcTrig&
m){
1847 tgcCoin_variables.push_back(coin_inner_tgc_coinflagC);
1850 auto coin_inner_tgc_anyBcRpc=
Monitored::Collection(
"coin_inner_tgc_anyBcRpc",tgcTrigMap_SL,[](
const TgcTrig&
m) ->
double{
1851 return (
m.rpc.size()>0);
1853 tgcCoin_variables.push_back(coin_inner_tgc_anyBcRpc);
1854 auto coin_inner_tgc_prevBcRpc=
Monitored::Collection(
"coin_inner_tgc_prevBcRpc",tgcTrigMap_SL,[](
const TgcTrig&
m){
1855 for(
const auto& inner :
m.rpc){
1856 if(inner->bunch == -1) return 1.;
1860 tgcCoin_variables.push_back(coin_inner_tgc_prevBcRpc);
1861 auto coin_inner_tgc_currBcRpc=
Monitored::Collection(
"coin_inner_tgc_currBcRpc",tgcTrigMap_SL,[](
const TgcTrig&
m){
1862 for(
const auto& inner :
m.rpc){
1863 if(inner->bunch == 0) return 1.;
1867 tgcCoin_variables.push_back(coin_inner_tgc_currBcRpc);
1868 auto coin_inner_tgc_currBcRpc_goodBcid0=
Monitored::Collection(
"coin_inner_tgc_currBcRpc_goodBcid0",tgcTrigMap_SL,[](
const TgcTrig&
m){
1869 for(
const auto& inner :
m.rpc){
1870 if(inner->bunch == 0 && inner->goodBcid0 == 1) return 1.;
1874 tgcCoin_variables.push_back(coin_inner_tgc_currBcRpc_goodBcid0);
1875 auto coin_inner_tgc_currBcRpc_goodBcid1=
Monitored::Collection(
"coin_inner_tgc_currBcRpc_goodBcid1",tgcTrigMap_SL,[](
const TgcTrig&
m){
1876 for(
const auto& inner :
m.rpc){
1877 if(inner->bunch == 0 && inner->goodBcid1 == 1) return 1.;
1881 tgcCoin_variables.push_back(coin_inner_tgc_currBcRpc_goodBcid1);
1882 auto coin_inner_tgc_currBcRpc_goodBcid2=
Monitored::Collection(
"coin_inner_tgc_currBcRpc_goodBcid2",tgcTrigMap_SL,[](
const TgcTrig&
m){
1883 for(
const auto& inner :
m.rpc){
1884 if(inner->bunch == 0 && inner->goodBcid2 == 1) return 1.;
1888 tgcCoin_variables.push_back(coin_inner_tgc_currBcRpc_goodBcid2);
1889 auto coin_inner_tgc_nextBcRpc=
Monitored::Collection(
"coin_inner_tgc_nextBcRpc",tgcTrigMap_SL,[](
const TgcTrig&
m){
1890 for(
const auto& inner :
m.rpc){
1891 if(inner->bunch == 1) return 1.;
1895 tgcCoin_variables.push_back(coin_inner_tgc_nextBcRpc);
1896 auto coin_inner_tgc_nextnextBcRpc=
Monitored::Collection(
"coin_inner_tgc_nextnextBcRpc",tgcTrigMap_SL,[](
const TgcTrig&
m){
1897 for(
const auto& inner :
m.rpc){
1898 if(inner->bunch == 2) return 1.;
1902 tgcCoin_variables.push_back(coin_inner_tgc_nextnextBcRpc);
1904 auto coin_inner_tgc_prevBcRpc_goodBcid0=
Monitored::Collection(
"coin_inner_tgc_prevBcRpc_goodBcid0",tgcTrigMap_SL,[](
const TgcTrig&
m){
1905 for(
const auto& inner :
m.rpc){
1906 if(inner->bunch == -1 && inner->goodBcid0 == 1) return 1.;
1910 tgcCoin_variables.push_back(coin_inner_tgc_prevBcRpc_goodBcid0);
1911 auto coin_inner_tgc_nextBcRpc_goodBcid0=
Monitored::Collection(
"coin_inner_tgc_nextBcRpc_goodBcid0",tgcTrigMap_SL,[](
const TgcTrig&
m){
1912 for(
const auto& inner :
m.rpc){
1913 if(inner->bunch == 1 && inner->goodBcid0 == 1) return 1.;
1917 tgcCoin_variables.push_back(coin_inner_tgc_nextBcRpc_goodBcid0);
1918 auto coin_inner_tgc_nextnextBcRpc_goodBcid0=
Monitored::Collection(
"coin_inner_tgc_nextnextBcRpc_goodBcid0",tgcTrigMap_SL,[](
const TgcTrig&
m){
1919 for(
const auto& inner :
m.rpc){
1920 if(inner->bunch == 2 && inner->goodBcid0 == 1) return 1.;
1924 tgcCoin_variables.push_back(coin_inner_tgc_nextnextBcRpc_goodBcid0);
1927 auto coin_inner_tgc_anyBcNsw=
Monitored::Collection(
"coin_inner_tgc_anyBcNsw",tgcTrigMap_SL,[](
const TgcTrig&
m) ->
double{
1928 return (
m.nsw.size()>0);
1930 tgcCoin_variables.push_back(coin_inner_tgc_anyBcNsw);
1931 auto coin_inner_tgc_prevBcNsw=
Monitored::Collection(
"coin_inner_tgc_prevBcNsw",tgcTrigMap_SL,[](
const TgcTrig&
m){
1932 for(
const auto& inner :
m.nsw){
1933 if(inner->bunch == -1) return 1.;
1937 tgcCoin_variables.push_back(coin_inner_tgc_prevBcNsw);
1938 auto coin_inner_tgc_currBcNsw=
Monitored::Collection(
"coin_inner_tgc_currBcNsw",tgcTrigMap_SL,[](
const TgcTrig&
m){
1939 for(
const auto& inner :
m.nsw){
1940 if(inner->bunch == 0) return 1.;
1944 tgcCoin_variables.push_back(coin_inner_tgc_currBcNsw);
1945 auto coin_inner_tgc_currBcNsw_goodBcid0=
Monitored::Collection(
"coin_inner_tgc_currBcNsw_goodBcid0",tgcTrigMap_SL,[](
const TgcTrig&
m){
1946 for(
const auto& inner :
m.nsw){
1947 if(inner->bunch == 0 && inner->goodBcid0 == 1) return 1.;
1951 tgcCoin_variables.push_back(coin_inner_tgc_currBcNsw_goodBcid0);
1952 auto coin_inner_tgc_currBcNsw_goodBcid1=
Monitored::Collection(
"coin_inner_tgc_currBcNsw_goodBcid1",tgcTrigMap_SL,[](
const TgcTrig&
m){
1953 for(
const auto& inner :
m.nsw){
1954 if(inner->bunch == 0 && inner->goodBcid1 == 1) return 1.;
1958 tgcCoin_variables.push_back(coin_inner_tgc_currBcNsw_goodBcid1);
1959 auto coin_inner_tgc_currBcNsw_goodBcid2=
Monitored::Collection(
"coin_inner_tgc_currBcNsw_goodBcid2",tgcTrigMap_SL,[](
const TgcTrig&
m){
1960 for(
const auto& inner :
m.nsw){
1961 if(inner->bunch == 0 && inner->goodBcid2 == 1) return 1.;
1965 tgcCoin_variables.push_back(coin_inner_tgc_currBcNsw_goodBcid2);
1966 auto coin_inner_tgc_nextBcNsw=
Monitored::Collection(
"coin_inner_tgc_nextBcNsw",tgcTrigMap_SL,[](
const TgcTrig&
m){
1967 for(
const auto& inner :
m.nsw){
1968 if(inner->bunch == 1) return 1.;
1972 tgcCoin_variables.push_back(coin_inner_tgc_nextBcNsw);
1973 auto coin_inner_tgc_nextnextBcNsw=
Monitored::Collection(
"coin_inner_tgc_nextnextBcNsw",tgcTrigMap_SL,[](
const TgcTrig&
m){
1974 for(
const auto& inner :
m.nsw){
1975 if(inner->bunch == 2) return 1.;
1979 tgcCoin_variables.push_back(coin_inner_tgc_nextnextBcNsw);
1981 auto coin_inner_tgc_prevBcNsw_goodBcid0=
Monitored::Collection(
"coin_inner_tgc_prevBcNsw_goodBcid0",tgcTrigMap_SL,[](
const TgcTrig&
m){
1982 for(
const auto& inner :
m.nsw){
1983 if(inner->bunch == -1 && inner->goodBcid0 == 1) return 1.;
1987 tgcCoin_variables.push_back(coin_inner_tgc_prevBcNsw_goodBcid0);
1988 auto coin_inner_tgc_nextBcNsw_goodBcid0=
Monitored::Collection(
"coin_inner_tgc_nextBcNsw_goodBcid0",tgcTrigMap_SL,[](
const TgcTrig&
m){
1989 for(
const auto& inner :
m.nsw){
1990 if(inner->bunch == 1 && inner->goodBcid0 == 1) return 1.;
1994 tgcCoin_variables.push_back(coin_inner_tgc_nextBcNsw_goodBcid0);
1995 auto coin_inner_tgc_nextnextBcNsw_goodBcid0=
Monitored::Collection(
"coin_inner_tgc_nextnextBcNsw_goodBcid0",tgcTrigMap_SL,[](
const TgcTrig&
m){
1996 for(
const auto& inner :
m.nsw){
1997 if(inner->bunch == 2 && inner->goodBcid0 == 1) return 1.;
2001 tgcCoin_variables.push_back(coin_inner_tgc_nextnextBcNsw_goodBcid0);
2002 auto coin_inner_tgc_Nsw_bcmask1=
Monitored::Collection(
"coin_inner_tgc_Nsw_bcmask1",tgcTrigMap_SL,[](
const TgcTrig&
m){
2003 for(
const auto& inner :
m.nsw_unique){
2004 if(inner->bcmask==1) return 1.;
2008 tgcCoin_variables.push_back(coin_inner_tgc_Nsw_bcmask1);
2009 auto coin_inner_tgc_Nsw_bcmask2=
Monitored::Collection(
"coin_inner_tgc_Nsw_bcmask2",tgcTrigMap_SL,[](
const TgcTrig&
m){
2010 for(
const auto& inner :
m.nsw_unique){
2011 if(inner->bcmask==2) return 1.;
2015 tgcCoin_variables.push_back(coin_inner_tgc_Nsw_bcmask2);
2016 auto coin_inner_tgc_Nsw_bcmask3=
Monitored::Collection(
"coin_inner_tgc_Nsw_bcmask3",tgcTrigMap_SL,[](
const TgcTrig&
m){
2017 for(
const auto& inner :
m.nsw_unique){
2018 if(inner->bcmask==3) return 1.;
2022 tgcCoin_variables.push_back(coin_inner_tgc_Nsw_bcmask3);
2023 auto coin_inner_tgc_Nsw_bcmask4=
Monitored::Collection(
"coin_inner_tgc_Nsw_bcmask4",tgcTrigMap_SL,[](
const TgcTrig&
m){
2024 for(
const auto& inner :
m.nsw_unique){
2025 if(inner->bcmask==4) return 1.;
2029 tgcCoin_variables.push_back(coin_inner_tgc_Nsw_bcmask4);
2030 auto coin_inner_tgc_Nsw_bcmask5=
Monitored::Collection(
"coin_inner_tgc_Nsw_bcmask5",tgcTrigMap_SL,[](
const TgcTrig&
m){
2031 for(
const auto& inner :
m.nsw_unique){
2032 if(inner->bcmask==5) return 1.;
2036 tgcCoin_variables.push_back(coin_inner_tgc_Nsw_bcmask5);
2037 auto coin_inner_tgc_Nsw_bcmask6=
Monitored::Collection(
"coin_inner_tgc_Nsw_bcmask6",tgcTrigMap_SL,[](
const TgcTrig&
m){
2038 for(
const auto& inner :
m.nsw_unique){
2039 if(inner->bcmask==6) return 1.;
2043 tgcCoin_variables.push_back(coin_inner_tgc_Nsw_bcmask6);
2044 auto coin_inner_tgc_Nsw_bcmask7=
Monitored::Collection(
"coin_inner_tgc_Nsw_bcmask7",tgcTrigMap_SL,[](
const TgcTrig&
m){
2045 for(
const auto& inner :
m.nsw_unique){
2046 if(inner->bcmask==7) return 1.;
2050 tgcCoin_variables.push_back(coin_inner_tgc_Nsw_bcmask7);
2053 auto coin_inner_tgc_anyBcTile=
Monitored::Collection(
"coin_inner_tgc_anyBcTile",tgcTrigMap_SL,[](
const TgcTrig&
m) ->
double{
2054 return (
m.tile.size()>0);
2056 tgcCoin_variables.push_back(coin_inner_tgc_anyBcTile);
2057 auto coin_inner_tgc_prevBcTile=
Monitored::Collection(
"coin_inner_tgc_prevBcTile",tgcTrigMap_SL,[](
const TgcTrig&
m){
2058 for(
const auto& inner :
m.tile){
2059 if(inner->bunch == -1) return 1.;
2063 tgcCoin_variables.push_back(coin_inner_tgc_prevBcTile);
2064 auto coin_inner_tgc_currBcTile=
Monitored::Collection(
"coin_inner_tgc_currBcTile",tgcTrigMap_SL,[](
const TgcTrig&
m){
2065 for(
const auto& inner :
m.tile){
2066 if(inner->bunch == 0) return 1.;
2070 tgcCoin_variables.push_back(coin_inner_tgc_currBcTile);
2071 auto coin_inner_tgc_currBcTile_goodBcid0=
Monitored::Collection(
"coin_inner_tgc_currBcTile_goodBcid0",tgcTrigMap_SL,[](
const TgcTrig&
m){
2072 for(
const auto& inner :
m.tile){
2073 if(inner->bunch == 0 && inner->goodBcid0 == 1) return 1.;
2077 tgcCoin_variables.push_back(coin_inner_tgc_currBcTile_goodBcid0);
2078 auto coin_inner_tgc_currBcTile_goodBcid1=
Monitored::Collection(
"coin_inner_tgc_currBcTile_goodBcid1",tgcTrigMap_SL,[](
const TgcTrig&
m){
2079 for(
const auto& inner :
m.tile){
2080 if(inner->bunch == 0 && inner->goodBcid1 == 1) return 1.;
2084 tgcCoin_variables.push_back(coin_inner_tgc_currBcTile_goodBcid1);
2085 auto coin_inner_tgc_currBcTile_goodBcid2=
Monitored::Collection(
"coin_inner_tgc_currBcTile_goodBcid2",tgcTrigMap_SL,[](
const TgcTrig&
m){
2086 for(
const auto& inner :
m.tile){
2087 if(inner->bunch == 0 && inner->goodBcid2 == 1) return 1.;
2091 tgcCoin_variables.push_back(coin_inner_tgc_currBcTile_goodBcid2);
2092 auto coin_inner_tgc_nextBcTile=
Monitored::Collection(
"coin_inner_tgc_nextBcTile",tgcTrigMap_SL,[](
const TgcTrig&
m){
2093 for(
const auto& inner :
m.tile){
2094 if(inner->bunch == 1) return 1.;
2098 tgcCoin_variables.push_back(coin_inner_tgc_nextBcTile);
2099 auto coin_inner_tgc_nextnextBcTile=
Monitored::Collection(
"coin_inner_tgc_nextnextBcTile",tgcTrigMap_SL,[](
const TgcTrig&
m){
2100 for(
const auto inner :
m.tile){
2101 if(inner->bunch == 2) return 1.;
2105 tgcCoin_variables.push_back(coin_inner_tgc_nextnextBcTile);
2107 auto coin_inner_tgc_prevBcTile_goodBcid0=
Monitored::Collection(
"coin_inner_tgc_prevBcTile_goodBcid0",tgcTrigMap_SL,[](
const TgcTrig&
m){
2108 for(
const auto& inner :
m.tile){
2109 if(inner->bunch == -1 && inner->goodBcid0 == 1) return 1.;
2113 tgcCoin_variables.push_back(coin_inner_tgc_prevBcTile_goodBcid0);
2114 auto coin_inner_tgc_nextBcTile_goodBcid0=
Monitored::Collection(
"coin_inner_tgc_nextBcTile_goodBcid0",tgcTrigMap_SL,[](
const TgcTrig&
m){
2115 for(
const auto& inner :
m.tile){
2116 if(inner->bunch == 1 && inner->goodBcid0 == 1) return 1.;
2120 tgcCoin_variables.push_back(coin_inner_tgc_nextBcTile_goodBcid0);
2121 auto coin_inner_tgc_nextnextBcTile_goodBcid0=
Monitored::Collection(
"coin_inner_tgc_nextnextBcTile_goodBcid0",tgcTrigMap_SL,[](
const TgcTrig&
m){
2122 for(
const auto inner :
m.tile){
2123 if(inner->bunch == 2 && inner->goodBcid0 == 1) return 1.;
2127 tgcCoin_variables.push_back(coin_inner_tgc_nextnextBcTile_goodBcid0);
2130 auto coin_inner_tgc_anyBcEifi=
Monitored::Collection(
"coin_inner_tgc_anyBcEifi",tgcTrigMap_SL,[](
const TgcTrig&
m) ->
double{
2131 return (
m.eifi.size()>0);
2133 tgcCoin_variables.push_back(coin_inner_tgc_anyBcEifi);
2134 auto coin_inner_tgc_prevBcEifi=
Monitored::Collection(
"coin_inner_tgc_prevBcEifi",tgcTrigMap_SL,[](
const TgcTrig&
m){
2135 for(
const auto& inner :
m.eifi){
2136 if(inner->bunch == -1) return 1.;
2140 tgcCoin_variables.push_back(coin_inner_tgc_prevBcEifi);
2141 auto coin_inner_tgc_currBcEifi=
Monitored::Collection(
"coin_inner_tgc_currBcEifi",tgcTrigMap_SL,[](
const TgcTrig&
m){
2142 for(
const auto& inner :
m.eifi){
2143 if(inner->bunch == 0) return 1.;
2147 tgcCoin_variables.push_back(coin_inner_tgc_currBcEifi);
2148 auto coin_inner_tgc_nextBcEifi=
Monitored::Collection(
"coin_inner_tgc_nextBcEifi",tgcTrigMap_SL,[](
const TgcTrig&
m){
2149 for(
const auto& inner :
m.eifi){
2150 if(inner->bunch == 1) return 1.;
2154 tgcCoin_variables.push_back(coin_inner_tgc_nextBcEifi);
2155 auto coin_inner_tgc_nextnextBcEifi=
Monitored::Collection(
"coin_inner_tgc_nextnextBcEifi",tgcTrigMap_SL,[](
const TgcTrig&
m){
2156 for(
const auto inner :
m.eifi){
2157 if(inner->bunch == 2) return 1.;
2161 tgcCoin_variables.push_back(coin_inner_tgc_nextnextBcEifi);
2165 auto coin_inner_rpc_slSector=
Monitored::Collection(
"coin_inner_rpc_slSector",tgcTrigRpcMap,[](
const TgcTrigRpc&
m){
2168 tgcCoin_variables.push_back(coin_inner_rpc_slSector);
2169 auto coin_inner_rpc_slSector_goodTiming=
Monitored::Collection(
"coin_inner_rpc_slSector_goodTiming",tgcTrigRpcMap,[](
const TgcTrigRpc&
m){
2170 return (
m.goodTiming) ?
m.slSector : -999;
2172 tgcCoin_variables.push_back(coin_inner_rpc_slSector_goodTiming);
2173 auto coin_inner_rpc_roiEta=
Monitored::Collection(
"coin_inner_rpc_roiEta",tgcTrigRpcMap,[](
const TgcTrigRpc&
m){
2176 tgcCoin_variables.push_back(coin_inner_rpc_roiEta);
2177 auto coin_inner_rpc_roiPhi=
Monitored::Collection(
"coin_inner_rpc_roiPhi",tgcTrigRpcMap,[](
const TgcTrigRpc&
m){
2180 tgcCoin_variables.push_back(coin_inner_rpc_roiPhi);
2181 auto coin_inner_rpc_roiNum=
Monitored::Collection(
"coin_inner_rpc_roiNum",tgcTrigRpcMap,[](
const TgcTrigRpc&
m){
2184 tgcCoin_variables.push_back(coin_inner_rpc_roiNum);
2185 auto coin_inner_rpc_deltaBcid=
Monitored::Collection(
"coin_inner_rpc_deltaBcid",tgcTrigRpcMap,[](
const TgcTrigRpc&
m){
2188 tgcCoin_variables.push_back(coin_inner_rpc_deltaBcid);
2189 auto coin_inner_rpc_deltaTiming=
Monitored::Collection(
"coin_inner_rpc_deltaTiming",tgcTrigRpcMap,[](
const TgcTrigRpc&
m){
2190 return m.deltaTiming;
2192 tgcCoin_variables.push_back(coin_inner_rpc_deltaTiming);
2193 auto coin_inner_rpc_rpcEta=
Monitored::Collection(
"coin_inner_rpc_rpcEta",tgcTrigRpcMap,[](
const TgcTrigRpc&
m){
2196 tgcCoin_variables.push_back(coin_inner_rpc_rpcEta);
2197 auto coin_inner_rpc_rpcPhi=
Monitored::Collection(
"coin_inner_rpc_rpcPhi",tgcTrigRpcMap,[](
const TgcTrigRpc&
m){
2200 tgcCoin_variables.push_back(coin_inner_rpc_rpcPhi);
2201 auto coin_inner_rpc_rpcDEta=
Monitored::Collection(
"coin_inner_rpc_rpcDEta",tgcTrigRpcMap,[](
const TgcTrigRpc&
m){
2204 tgcCoin_variables.push_back(coin_inner_rpc_rpcDEta);
2205 auto coin_inner_rpc_rpcDPhi=
Monitored::Collection(
"coin_inner_rpc_rpcDPhi",tgcTrigRpcMap,[](
const TgcTrigRpc&
m){
2208 tgcCoin_variables.push_back(coin_inner_rpc_rpcDPhi);
2209 auto coin_inner_rpc_currBc=
Monitored::Collection(
"coin_inner_rpc_currBc",tgcTrigRpcMap,[](
const TgcTrigRpc&
m){
2212 tgcCoin_variables.push_back(coin_inner_rpc_currBc);
2213 auto coin_inner_rpc_goodBcid0=
Monitored::Collection(
"coin_inner_rpc_goodBcid0",tgcTrigRpcMap,[](
const TgcTrigRpc&
m){
2216 tgcCoin_variables.push_back(coin_inner_rpc_goodBcid0);
2217 auto coin_inner_rpc_goodBcid1=
Monitored::Collection(
"coin_inner_rpc_goodBcid1",tgcTrigRpcMap,[](
const TgcTrigRpc&
m){
2220 tgcCoin_variables.push_back(coin_inner_rpc_goodBcid1);
2221 auto coin_inner_rpc_goodBcid2=
Monitored::Collection(
"coin_inner_rpc_goodBcid2",tgcTrigRpcMap,[](
const TgcTrigRpc&
m){
2224 tgcCoin_variables.push_back(coin_inner_rpc_goodBcid2);
2225 auto coin_inner_rpc_goodTiming=
Monitored::Collection(
"coin_inner_rpc_goodTiming",tgcTrigRpcMap,[](
const TgcTrigRpc&
m){
2226 return m.goodTiming;
2228 tgcCoin_variables.push_back(coin_inner_rpc_goodTiming);
2232 auto coin_inner_nsw_deltaR=
Monitored::Collection(
"coin_inner_nsw_deltaR",tgcTrigNswMap,[](
const TgcTrigNsw&
m){
2235 tgcCoin_variables.push_back(coin_inner_nsw_deltaR);
2236 auto coin_inner_nsw_slSector=
Monitored::Collection(
"coin_inner_nsw_slSector",tgcTrigNswMap,[](
const TgcTrigNsw&
m){
2239 tgcCoin_variables.push_back(coin_inner_nsw_slSector);
2240 auto coin_inner_nsw_slSector_goodTiming=
Monitored::Collection(
"coin_inner_nsw_slSector_goodTiming",tgcTrigNswMap,[](
const TgcTrigNsw&
m){
2241 return (
m.goodTiming) ?
m.slSector : -999;
2243 tgcCoin_variables.push_back(coin_inner_nsw_slSector_goodTiming);
2244 auto coin_inner_nsw_slSector_endcap=
Monitored::Collection(
"coin_inner_nsw_slSector_endcap",tgcTrigNswMap,[](
const TgcTrigNsw&
m){
2245 return (std::abs(
m.roiEta)>1.3 &&
m.isForward==0) ?
m.slSector : -999;
2247 tgcCoin_variables.push_back(coin_inner_nsw_slSector_endcap);
2248 auto coin_inner_nsw_slSector_forward=
Monitored::Collection(
"coin_inner_nsw_slSector_forward",tgcTrigNswMap,[](
const TgcTrigNsw&
m){
2249 return (
m.isForward==1) ?
m.slSector : -999;
2251 tgcCoin_variables.push_back(coin_inner_nsw_slSector_forward);
2252 auto coin_inner_nsw_slSector_goodTiming_endcap=
Monitored::Collection(
"coin_inner_nsw_slSector_goodTiming_endcap",tgcTrigNswMap,[](
const TgcTrigNsw&
m){
2253 return (std::abs(
m.roiEta)>1.3 &&
m.isForward==0 &&
m.goodTiming) ?
m.slSector : -999;
2255 tgcCoin_variables.push_back(coin_inner_nsw_slSector_goodTiming_endcap);
2256 auto coin_inner_nsw_slSector_goodTiming_forward=
Monitored::Collection(
"coin_inner_nsw_slSector_goodTiming_forward",tgcTrigNswMap,[](
const TgcTrigNsw&
m){
2257 return (
m.isForward==1 &&
m.goodTiming) ?
m.slSector : -999;
2259 tgcCoin_variables.push_back(coin_inner_nsw_slSector_goodTiming_forward);
2260 auto coin_inner_nsw_roiEta=
Monitored::Collection(
"coin_inner_nsw_roiEta",tgcTrigNswMap,[](
const TgcTrigNsw&
m){
2263 tgcCoin_variables.push_back(coin_inner_nsw_roiEta);
2264 auto coin_inner_nsw_roiPhi=
Monitored::Collection(
"coin_inner_nsw_roiPhi",tgcTrigNswMap,[](
const TgcTrigNsw&
m){
2267 tgcCoin_variables.push_back(coin_inner_nsw_roiPhi);
2268 auto coin_inner_nsw_roiNum=
Monitored::Collection(
"coin_inner_nsw_roiNum",tgcTrigNswMap,[](
const TgcTrigNsw&
m){
2271 tgcCoin_variables.push_back(coin_inner_nsw_roiNum);
2272 auto coin_inner_nsw_deltaBcid=
Monitored::Collection(
"coin_inner_nsw_deltaBcid",tgcTrigNswMap,[](
const TgcTrigNsw&
m){
2275 tgcCoin_variables.push_back(coin_inner_nsw_deltaBcid);
2276 auto coin_inner_nsw_deltaTiming=
Monitored::Collection(
"coin_inner_nsw_deltaTiming",tgcTrigNswMap,[](
const TgcTrigNsw&
m){
2277 return m.deltaTiming;
2279 tgcCoin_variables.push_back(coin_inner_nsw_deltaTiming);
2283 tgcCoin_variables.push_back(coin_inner_nsw_R);
2287 tgcCoin_variables.push_back(coin_inner_nsw_Phi);
2288 auto coin_inner_nsw_deltaTheta=
Monitored::Collection(
"coin_inner_nsw_deltaTheta",tgcTrigNswMap,[](
const TgcTrigNsw&
m){
2289 return m.deltaTheta;
2291 tgcCoin_variables.push_back(coin_inner_nsw_deltaTheta);
2292 auto coin_inner_nsw_isForward=
Monitored::Collection(
"coin_inner_nsw_isForward",tgcTrigNswMap,[](
const TgcTrigNsw&
m){
2293 return m.isForward==1;
2295 tgcCoin_variables.push_back(coin_inner_nsw_isForward);
2296 auto coin_inner_nsw_isEndcap=
Monitored::Collection(
"coin_inner_nsw_isEndcap",tgcTrigNswMap,[](
const TgcTrigNsw&
m){
2297 return m.isForward==0;
2299 tgcCoin_variables.push_back(coin_inner_nsw_isEndcap);
2300 auto coin_inner_nsw_currBc=
Monitored::Collection(
"coin_inner_nsw_currBc",tgcTrigNswMap,[](
const TgcTrigNsw&
m){
2303 tgcCoin_variables.push_back(coin_inner_nsw_currBc);
2304 auto coin_inner_nsw_endcap_currBc=
Monitored::Collection(
"coin_inner_nsw_endcap_currBc",tgcTrigNswMap,[](
const TgcTrigNsw&
m){
2305 return (
m.isForward==0 &&
m.currBc==1);
2307 tgcCoin_variables.push_back(coin_inner_nsw_endcap_currBc);
2308 auto coin_inner_nsw_forward_currBc=
Monitored::Collection(
"coin_inner_nsw_forward_currBc",tgcTrigNswMap,[](
const TgcTrigNsw&
m){
2309 return (
m.isForward==1 &&
m.currBc==1);
2311 tgcCoin_variables.push_back(coin_inner_nsw_forward_currBc);
2312 auto coin_inner_nsw_goodBcid0=
Monitored::Collection(
"coin_inner_nsw_goodBcid0",tgcTrigNswMap,[](
const TgcTrigNsw&
m){
2315 tgcCoin_variables.push_back(coin_inner_nsw_goodBcid0);
2316 auto coin_inner_nsw_goodBcid1=
Monitored::Collection(
"coin_inner_nsw_goodBcid1",tgcTrigNswMap,[](
const TgcTrigNsw&
m){
2319 tgcCoin_variables.push_back(coin_inner_nsw_goodBcid1);
2320 auto coin_inner_nsw_goodBcid2=
Monitored::Collection(
"coin_inner_nsw_goodBcid2",tgcTrigNswMap,[](
const TgcTrigNsw&
m){
2323 tgcCoin_variables.push_back(coin_inner_nsw_goodBcid2);
2324 auto coin_inner_nsw_goodTiming=
Monitored::Collection(
"coin_inner_nsw_goodTiming",tgcTrigNswMap,[](
const TgcTrigNsw&
m){
2325 return m.goodTiming;
2327 tgcCoin_variables.push_back(coin_inner_nsw_goodTiming);
2329 auto coin_inner_nsw_slInputIndex=
Monitored::Collection(
"coin_inner_nsw_slInputIndex",tgcTrigNswMap,[](
const TgcTrigNsw&
m){
2330 return m.slInputIndex;
2332 tgcCoin_variables.push_back(coin_inner_nsw_slInputIndex);
2333 auto coin_inner_nsw_slInputIndex_AEndcap=
Monitored::Collection(
"coin_inner_nsw_slInputIndex_AEndcap",tgcTrigNswMap,[](
const TgcTrigNsw&
m){
2334 return (
m.isAside==1 &&
m.isForward==0) ?
m.slInputIndex : -999;
2336 tgcCoin_variables.push_back(coin_inner_nsw_slInputIndex_AEndcap);
2337 auto coin_inner_nsw_slInputIndex_CEndcap=
Monitored::Collection(
"coin_inner_nsw_slInputIndex_CEndcap",tgcTrigNswMap,[](
const TgcTrigNsw&
m){
2338 return (
m.isAside==0 &&
m.isForward==0) ?
m.slInputIndex : -999;
2340 tgcCoin_variables.push_back(coin_inner_nsw_slInputIndex_CEndcap);
2341 auto coin_inner_nsw_slInputIndex_AForward=
Monitored::Collection(
"coin_inner_nsw_slInputIndex_AForward",tgcTrigNswMap,[](
const TgcTrigNsw&
m){
2342 return (
m.isAside==1 &&
m.isForward==1) ?
m.slInputIndex : -999;
2344 tgcCoin_variables.push_back(coin_inner_nsw_slInputIndex_AForward);
2345 auto coin_inner_nsw_slInputIndex_CForward=
Monitored::Collection(
"coin_inner_nsw_slInputIndex_CForward",tgcTrigNswMap,[](
const TgcTrigNsw&
m){
2346 return (
m.isAside==0 &&
m.isForward==1) ?
m.slInputIndex : -999;
2348 tgcCoin_variables.push_back(coin_inner_nsw_slInputIndex_CForward);
2350 auto coin_inner_nsw_goodTimingBcid0=
Monitored::Collection(
"coin_inner_nsw_goodTimingBcid0",tgcTrigNswMap,[](
const TgcTrigNsw&
m){
2351 return (
m.goodTiming==1 &&
m.goodBcid0==1);
2353 tgcCoin_variables.push_back(coin_inner_nsw_goodTimingBcid0);
2354 auto coin_inner_nsw_goodTimingBcid1=
Monitored::Collection(
"coin_inner_nsw_goodTimingBcid1",tgcTrigNswMap,[](
const TgcTrigNsw&
m){
2355 return (
m.goodTiming==1 &&
m.goodBcid1==1);
2357 tgcCoin_variables.push_back(coin_inner_nsw_goodTimingBcid1);
2358 auto coin_inner_nsw_goodTimingBcid2=
Monitored::Collection(
"coin_inner_nsw_goodTimingBcid2",tgcTrigNswMap,[](
const TgcTrigNsw&
m){
2359 return (
m.goodTiming==1 &&
m.goodBcid2==1);
2361 tgcCoin_variables.push_back(coin_inner_nsw_goodTimingBcid2);
2362 auto coin_inner_nsw_BcPrev=
Monitored::Collection(
"coin_inner_nsw_BcPrev",tgcTrigNswMap,[](
const TgcTrigNsw&
m){
2363 return m.deltaTiming==-1;
2365 tgcCoin_variables.push_back(coin_inner_nsw_BcPrev);
2366 auto coin_inner_nsw_BcCurr=
Monitored::Collection(
"coin_inner_nsw_BcCurr",tgcTrigNswMap,[](
const TgcTrigNsw&
m){
2367 return m.deltaTiming==0;
2369 tgcCoin_variables.push_back(coin_inner_nsw_BcCurr);
2370 auto coin_inner_nsw_BcNext=
Monitored::Collection(
"coin_inner_nsw_BcNext",tgcTrigNswMap,[](
const TgcTrigNsw&
m){
2371 return m.deltaTiming==1;
2373 tgcCoin_variables.push_back(coin_inner_nsw_BcNext);
2374 auto coin_inner_nsw_BcNextNext=
Monitored::Collection(
"coin_inner_nsw_BcNextNext",tgcTrigNswMap,[](
const TgcTrigNsw&
m){
2375 return m.deltaTiming==2;
2377 tgcCoin_variables.push_back(coin_inner_nsw_BcNextNext);
2380 auto coin_inner_tile_slSector=
Monitored::Collection(
"coin_inner_tile_slSector",tgcTrigTileMap,[](
const TgcTrigTile&
m){
2383 tgcCoin_variables.push_back(coin_inner_tile_slSector);
2384 auto coin_inner_tile_slSector_goodTiming=
Monitored::Collection(
"coin_inner_tile_slSector_goodTiming",tgcTrigTileMap,[](
const TgcTrigTile&
m){
2385 return (
m.goodTiming) ?
m.slSector : -999;
2387 tgcCoin_variables.push_back(coin_inner_tile_slSector_goodTiming);
2388 auto coin_inner_tile_roiEta=
Monitored::Collection(
"coin_inner_tile_roiEta",tgcTrigTileMap,[](
const TgcTrigTile&
m){
2391 tgcCoin_variables.push_back(coin_inner_tile_roiEta);
2392 auto coin_inner_tile_roiPhi=
Monitored::Collection(
"coin_inner_tile_roiPhi",tgcTrigTileMap,[](
const TgcTrigTile&
m){
2395 tgcCoin_variables.push_back(coin_inner_tile_roiPhi);
2396 auto coin_inner_tile_roiNum=
Monitored::Collection(
"coin_inner_tile_roiNum",tgcTrigTileMap,[](
const TgcTrigTile&
m){
2399 tgcCoin_variables.push_back(coin_inner_tile_roiNum);
2400 auto coin_inner_tile_deltaBcid=
Monitored::Collection(
"coin_inner_tile_deltaBcid",tgcTrigTileMap,[](
const TgcTrigTile&
m){
2403 tgcCoin_variables.push_back(coin_inner_tile_deltaBcid);
2404 auto coin_inner_tile_deltaTiming=
Monitored::Collection(
"coin_inner_tile_deltaTiming",tgcTrigTileMap,[](
const TgcTrigTile&
m){
2405 return m.deltaTiming;
2407 tgcCoin_variables.push_back(coin_inner_tile_deltaTiming);
2408 auto coin_inner_tile_tmdbDecisions=
Monitored::Collection(
"coin_inner_tile_tmdbDecisions",tgcTrigTileMap,[](
const TgcTrigTile&
m){
2409 return m.tmdbDecisions;
2411 tgcCoin_variables.push_back(coin_inner_tile_tmdbDecisions);
2412 auto coin_inner_tile_currBc=
Monitored::Collection(
"coin_inner_tile_currBc",tgcTrigTileMap,[](
const TgcTrigTile&
m){
2415 tgcCoin_variables.push_back(coin_inner_tile_currBc);
2416 auto coin_inner_tile_goodBcid0=
Monitored::Collection(
"coin_inner_tile_goodBcid0",tgcTrigTileMap,[](
const TgcTrigTile&
m){
2419 tgcCoin_variables.push_back(coin_inner_tile_goodBcid0);
2420 auto coin_inner_tile_goodBcid1=
Monitored::Collection(
"coin_inner_tile_goodBcid1",tgcTrigTileMap,[](
const TgcTrigTile&
m){
2423 tgcCoin_variables.push_back(coin_inner_tile_goodBcid1);
2424 auto coin_inner_tile_goodBcid2=
Monitored::Collection(
"coin_inner_tile_goodBcid2",tgcTrigTileMap,[](
const TgcTrigTile&
m){
2427 tgcCoin_variables.push_back(coin_inner_tile_goodBcid2);
2428 auto coin_inner_tile_goodTiming=
Monitored::Collection(
"coin_inner_tile_goodTiming",tgcTrigTileMap,[](
const TgcTrigTile&
m){
2429 return m.goodTiming;
2431 tgcCoin_variables.push_back(coin_inner_tile_goodTiming);
2433 auto coin_inner_tile2_slSector=
Monitored::Collection(
"coin_inner_tile2_slSector",tgcTrigTileMap_allmods,[](
const TgcTrigTile&
m){
2436 tgcCoin_variables.push_back(coin_inner_tile2_slSector);
2437 auto coin_inner_tile2_currBc=
Monitored::Collection(
"coin_inner_tile2_currBc",tgcTrigTileMap_allmods,[](
const TgcTrigTile&
m){
2440 tgcCoin_variables.push_back(coin_inner_tile2_currBc);
2441 auto coin_inner_tile2_tmdbDecisions=
Monitored::Collection(
"coin_inner_tile2_tmdbDecisions",tgcTrigTileMap_allmods,[](
const TgcTrigTile&
m){
2442 return m.tmdbDecisions;
2444 tgcCoin_variables.push_back(coin_inner_tile2_tmdbDecisions);
2447 auto coin_inner_eifi_slSector_goodTiming=
Monitored::Collection(
"coin_inner_eifi_slSector_goodTiming",tgcTrigEifiMap,[](
const TgcTrigEifi&
m){
2448 return (
m.goodTiming) ?
m.slSector : -999;
2450 tgcCoin_variables.push_back(coin_inner_eifi_slSector_goodTiming);
2451 auto coin_inner_eifi_slSector=
Monitored::Collection(
"coin_inner_eifi_slSector",tgcTrigEifiMap,[](
const TgcTrigEifi&
m){
2454 tgcCoin_variables.push_back(coin_inner_eifi_slSector);
2455 auto coin_inner_eifi_roiEta=
Monitored::Collection(
"coin_inner_eifi_roiEta",tgcTrigEifiMap,[](
const TgcTrigEifi&
m){
2458 tgcCoin_variables.push_back(coin_inner_eifi_roiEta);
2459 auto coin_inner_eifi_roiPhi=
Monitored::Collection(
"coin_inner_eifi_roiPhi",tgcTrigEifiMap,[](
const TgcTrigEifi&
m){
2462 tgcCoin_variables.push_back(coin_inner_eifi_roiPhi);
2463 auto coin_inner_eifi_roiNum=
Monitored::Collection(
"coin_inner_eifi_roiNum",tgcTrigEifiMap,[](
const TgcTrigEifi&
m){
2466 tgcCoin_variables.push_back(coin_inner_eifi_roiNum);
2467 auto coin_inner_eifi_deltaTiming=
Monitored::Collection(
"coin_inner_eifi_deltaTiming",tgcTrigEifiMap,[](
const TgcTrigEifi&
m){
2468 return m.deltaTiming;
2470 tgcCoin_variables.push_back(coin_inner_eifi_deltaTiming);
2471 auto coin_inner_eifi_currBc=
Monitored::Collection(
"coin_inner_eifi_currBc",tgcTrigEifiMap,[](
const TgcTrigEifi&
m){
2474 tgcCoin_variables.push_back(coin_inner_eifi_currBc);
2475 auto coin_inner_eifi_goodTiming=
Monitored::Collection(
"coin_inner_eifi_goodTiming",tgcTrigEifiMap,[](
const TgcTrigEifi&
m){
2476 return m.goodTiming;
2478 tgcCoin_variables.push_back(coin_inner_eifi_goodTiming);
2489 return StatusCode::SUCCESS;