Check that the current event passes this filter.
89{
91 bool acceptEvent(true);
92
94
98 isTriggerFired = true;
99 break;
100 }
101 }
102
103
104 std::vector<TLorentzVector> goodAllJets;
105 std::vector<TLorentzVector> goodCentralJets;
106
111 for(; jet_itr != jet_end; ++jet_itr) {
115 }
116
117
118 double maxM = 0.;
119 for(unsigned int jet_i = 0; jet_i<goodAllJets.size(); jet_i++) {
120 const TLorentzVector& iP4 = goodAllJets.at(jet_i);
121
122 for(unsigned int jet_k=jet_i+1; jet_k<goodAllJets.size(); jet_k++) {
123 const TLorentzVector& kP4 = goodAllJets.at(jet_k);
124
125 const TLorentzVector jjP4 = iP4 + kP4;
126 const double jjM = jjP4.M();
127
128 if (maxM<jjM) {maxM=jjM;}
129 }
130 }
131
132
133 double maxPhPt=0.;
137 for (const auto* ph : *phots){
139 if(ph->pt()>maxPhPt) maxPhPt = ph->pt();
140 }
141 }
142
143
144
145 const bool passNAllJet = (goodAllJets.size()>=
m_nAllJets);
146 const bool passNCentralJet = (goodCentralJets.size()>=
m_nCentralJets);
148 const bool passPhPtCut = (maxPhPt>
m_phPtCut);
149
150 if (
m_reqNAllJets) {
if (not passNAllJet) {acceptEvent=
false;} }
152
153 if (
m_reqTrigger) {
if (not isTriggerFired) {acceptEvent=
false;} }
154
157 if(
m_reqPh and
m_reqVbfMjj) {
if (not (passMjjCut or passPhPtCut) ) {acceptEvent=
false;} }
158
160
162 printf("dbg> L%3d : event accepted [%s] "
163 "(NJets=%2d [%6s], NCentralJets=%2d [%6s] Mjj=%10.1f [%6s], Trigger [%6s]) \n",
164 __LINE__,
165 acceptEvent? "Y" : "N",
166 (int)goodAllJets.size(), passNAllJet ? "PASSED" : "FAILED",
167 (int)goodCentralJets.size(), passNCentralJet ? "PASSED" : "FAILED",
168 maxM, passMjjCut ? "PASSED" : "FAILED",
169 isTriggerFired ? "PASSED" : "FAILED"
170 );
171 }
172
173 return acceptEvent;
174}
#define ATH_CHECK
Evaluate an expression and check for errors.
DataModel_detail::const_iterator< DataVector > const_iterator
::StatusCode StatusCode
StatusCode definition for legacy code.
retrieve(aClass, aKey=None)
PhotonContainer_v1 PhotonContainer
Definition of the current "photon container version".
JetContainer_v1 JetContainer
Definition of the current "jet container version".