73#include "GaudiKernel/MsgStream.h"
74#include "GaudiKernel/StatusCode.h"
110 return StatusCode::SUCCESS;
122 MonGroup electronGroup(
this,
"egamma/forwardElectrons",
run);
125 MonGroup electronIdGroup (
this,
"egamma/forwardElectrons/ID",
run);
129 bookTH1F(
m_hN, electronGroup,
"forwardElectronN",
"Number of LOOSE electrons",40, 0.0, 40.0);
130 bookTH1F(
m_hEt, electronGroup,
"forwardElectronEt",
"LOOSE electron transverse energy [MeV]",100, -1000.0, 250000.0);
131 bookTH2F(
m_hEtaPhi, electronGroup,
"forwardElectronEtaPhi",
"LOOSE electron #eta,#phi map (candidates with E>10GeV)", 64, -3.2, 3.2, 64, -3.2, 3.2);
132 bookTH1F(
m_hEta, electronGroup,
"forwardElectronEta",
"LOOSE electron #eta", 64, -5., 5.);
133 bookTH1F(
m_hPhi, electronGroup,
"forwardElectronPhi",
"LOOSE electron #phi", 64, -3.2, 3.2);
135 bookTH1F(
m_hTime, electronGroup,
"forwardElectronTime",
"Time associated with the LOOSE electron cluster [ns]", 90, -30., 60.);
137 bookTH1F(
m_hTightN, electronGroup,
"forwardElectronTightN",
"Number of TIGHT electrons",40, 0.0, 40.0);
138 bookTH1F(
m_hTightEt, electronGroup,
"forwardElectronTightEt",
"TIGHT electron transverse energy [MeV]",100, -1000.0, 250000.0);
139 bookTH2F(
m_hTightEtaPhi, electronGroup,
"forwardElectronTightEtaPhi",
"TIGHT electron #eta,#phi map (candidates with E>10GeV)", 64, -5., 5., 64, -3.2, 3.2);
140 bookTH1F(
m_hTightEta, electronGroup,
"forwardElectronTightEta",
"TIGHT electron #eta", 100, -5., 5.);
141 bookTH1F(
m_hTightPhi, electronGroup,
"forwardElectronTightPhi",
"TIGHT electron #phi", 64, -3.2, 3.2);
143 bookTH1F(
m_hTightTime, electronGroup,
"forwardElectronTightTime",
"Time associated with the TIGHT electron cluster [ns]", 90, -30., 60.);
146 bookTH1FperRegion(
m_hvDensity, electronIdGroup,
"forwardElectronENG_DENS",
"First Moment of Energy Density ;FistEngDens; Nevents", 200,0.,2., start,end);
147 bookTH1FperRegion(
m_hvFrac, electronIdGroup,
"forwardElectronFRAC_MAX",
"Fraction of most energetic cell ;FacMax;Nevents", 50,0.,1., start,end);
148 bookTH1FperRegion(
m_hvLongitu, electronIdGroup,
"forwardElectronLONGITUDINAL",
"Normalized Longitudinal Moment ;Longitudinal;Nevents", 100,0.,1., start,end);
149 bookTH1FperRegion(
m_hvLambda, electronIdGroup,
"forwardElectron2ND_LAMBDA",
"Second Moment of Lambda ;SecondLambda;Nevents", 500,0.,10000.,start,end);
150 bookTH1FperRegion(
m_hvLateral, electronIdGroup,
"forwardElectronLATERAL",
"Normalized Lateral Moment ;Lateral;Nevents", 100,0.,1., start,end);
151 bookTH1FperRegion(
m_hvSecondR, electronIdGroup,
"forwardElectron2ND_R",
"Second Moment of R ;SecondR;Nevents", 500,0.,20000.,start,end);
152 bookTH1FperRegion(
m_hvCenterL, electronIdGroup,
"forwardElectronCENTER_LAMBDA",
"distance of shower center from calo front face;CenterLambda;Nevents",500,0,2000,start,end);
154 bookTH1FperRegion(
m_hvTightDensity, electronIdGroup,
"forwardElectronTightENG_DENS",
"First Moment of Energy Density ;FistEngDens; Nevents", 200,0.,2., start,end);
155 bookTH1FperRegion(
m_hvTightFrac, electronIdGroup,
"forwardElectronTightFRAC_MAX",
"Fraction of most energetic cell ;FacMax;Nevents", 50,0.,1., start,end);
156 bookTH1FperRegion(
m_hvTightLongitu, electronIdGroup,
"forwardElectronTightLONGITUDINAL",
"Normalized Longitudinal Moment ;Longitudinal;Nevents", 100,0.,1., start,end);
157 bookTH1FperRegion(
m_hvTightLambda, electronIdGroup,
"forwardElectronTight2ND_LAMBDA",
"Second Moment of Lambda ;SecondLambda;Nevents", 500,0.,10000.,start,end);
160 bookTH1FperRegion(
m_hvTightCenterL, electronIdGroup,
"forwardElectronTightCENTER_LAMBDA",
"distance of shower center from calo front face;CenterLambda;Nevents",500,0,2000,start,end);
164 bookTH1FperRegion(
m_hvN, electronGroup,
"forwardElectronN",
"Number of LOOSE electrons",40, 0.0, 40.0,start,end);
165 bookTH1FperRegion(
m_hvEt, electronGroup,
"forwardElectronEt",
"LOOSE electron transverse energy [MeV]",100, -1000.0, 250000.0,start,end);
172 bookTH1FperRegion(
m_hvTightEt, electronGroup,
"forwardElectronTightEt",
"TIGHT electron transverse energy [MeV]",100, -1000.0, 250000.0,start,end);
179 bookTH1F(
m_hLB_N, electronLBGroup,
"forwardElectronNumbervsLB",
"Number of Forward Electrons vs LB", 2000, -0.5, 1999.5);
181 return StatusCode::SUCCESS;
188 if (!
hasGoodTrigger(
"forward electron"))
return StatusCode::SUCCESS;
190 const EventContext& ctx = Gaudi::Hive::currentContext();
195 return StatusCode::RECOVERABLE;
219 ATH_MSG_DEBUG(
"Number of electrons: " << electron_container->size());
222 if( ! electron_container->hasStore() ) {
224 return StatusCode::FAILURE;
231 std::vector<int> n_el;
232 std::vector<int> n_el_tight;
236 for (; e_iter!=e_end; ++e_iter) {
237 if(!(*e_iter))
continue;
241 float et = (*e_iter)->pt();
242 float eta = (*e_iter)->eta();
243 float phi = (*e_iter)->phi();
247 if (
et<5000)
return StatusCode::SUCCESS;
252 double firstENGdens=-999.;
253 double lateral=-999.;
254 double secondR=-999.;
255 double centerLambda=-999.;
256 double fracMax=-999.;
257 double longitudinal=-999.;
258 double secondLambda=-999.;
267 ATH_MSG_DEBUG(
"this electron is also a Loose Forward Electron..." );
307 time = aCluster->
time();
314 if((*e_iter)->passSelection(isTight,
"Tight")) {
316 ATH_MSG_DEBUG(
"this electron is also a Tight Forward Electron" );
341 ATH_MSG_DEBUG(
"Electron selection menu Tight is not defined" );
356 return StatusCode::SUCCESS;
Scalar eta() const
pseudorapidity method
Scalar phi() const
phi method
#define ATH_CHECK
Evaluate an expression and check for errors.
DataModel_detail::const_iterator< DataVector > const_iterator
virtual bool isValid() override final
Can the handle be successfully dereferenced?
bool retrieveMoment(MomentType type, double &value) const
Retrieve individual moment.
flt_t time() const
Access cluster time.
@ SECOND_LAMBDA
Second Moment in .
@ LATERAL
Normalized lateral moment.
@ LONGITUDINAL
Normalized longitudinal moment.
@ ENG_FRAC_MAX
Energy fraction of hottest cell.
@ SECOND_R
Second Moment in .
@ FIRST_ENG_DENS
First Moment in E/V.
@ CENTER_LAMBDA
Shower depth at Cluster Centroid.
int ir
counter of the current depth
const uint16_t AuthorFwdElectron
Electron reconstructed by the Forward cluster-based algorithm.
CaloCluster_v1 CaloCluster
Define the latest version of the calorimeter cluster class.
Extra patterns decribing particle interation process.