6 #include "GaudiKernel/PhysicalConstants.h"
59 ", eta size (units of 0.06) =" <<
m_Gride <<
60 ", phi size (units of 0.06) =" <<
m_Gridp <<
", Rapidity range " <<
m_UserEta);
62 return StatusCode::SUCCESS;
73 etgridused[
ip][
ie] =
false;
78 const HepMC::GenEvent* genEvt =
event();
79 for (
const auto&
part: *genEvt) {
83 (std::abs(
part->momentum().pseudoRapidity()) <=
m_emaxeta) ) {
89 return StatusCode::FAILURE;
105 for (
int ip0 = 0; ip0 <
m_grphi; ++ip0) {
106 if (etgrid[ip0][ie0]>ethigh && !etgridused[ip0][ie0]) {
107 ethigh = etgrid[ip0][ie0];
116 CLHEP::HepLorentzVector FoundJet;
127 sum =
sum+etgrid[ip1][etahigh-1];
128 sum1 = sum1+etgrid[ip1][etahigh+1];
140 sum1 = sum1+etgrid[(phihigh+1)%
m_grphi][ie1];
143 phihigh = (phihigh+1) %
m_grphi;
155 if (!etgridused[ip1][ie1])
sum=
sum+etgrid[ip1][ie1];
156 if (!etgridused[ip1][ie1+1]) sum1=sum1+etgrid[ip1][ie1+1];
157 if (!etgridused[ip1+1][ie1]) sum2=sum2+etgrid[(ip1+1)%
m_grphi][ie1];
158 if (!etgridused[ip1+1][ie1+1]) sum3=sum3+etgrid[(ip1+1)%
m_grphi][ie1+1];
161 if (
sum < sum1 && sum2 < sum1 && sum3 < sum1) etahigh=etahigh+1;
162 if (
sum < sum2 && sum1 <= sum2 && sum3 < sum2) phihigh=(phihigh+1)%
m_grphi;
163 if (
sum < sum3 && sum2 <= sum3 && sum1 <= sum3) {
172 if ( (ie1<0) || (ie1>=
m_greta)) {
174 return StatusCode::FAILURE;
180 while ( ip1 < 0) ip1 +=
m_grphi;
184 if (!etgridused[ip1][ie1]) {
185 etgridused[ip1][ie1] =
true;
194 FoundJet.setPx(jetpx);
195 FoundJet.setPy(jetpy);
196 FoundJet.setPz(jetpz);
198 if (std::abs(FoundJet.pseudoRapidity()) <
m_UserEta) {
199 m_Jets.push_back(FoundJet);
203 sort(
m_Jets.begin(),
m_Jets.end(),std::greater<McObj>());
214 return StatusCode::SUCCESS;
217 setFilterPassed(
false);
219 return StatusCode::SUCCESS;