|
ATLAS Offline Software
|
Go to the documentation of this file.
19 #include "GaudiKernel/MsgStream.h"
20 #include "GaudiKernel/StatusCode.h"
28 #include "GaudiKernel/SystemOfUnits.h"
33 m_hNZcandidates(nullptr),
34 m_electronGroup(nullptr),
35 m_electronTrkGroup(nullptr),
36 m_electronIdGroup(nullptr),
37 m_electronIsoGroup(nullptr),
38 m_electronLBGroup(nullptr),
39 m_electronEffGroup(nullptr),
51 m_effhISOEta(nullptr),
52 m_effhISOPhi(nullptr),
76 return StatusCode::SUCCESS;
121 bookTH2F(
m_hEtaPhi, *
m_electronGroup,
"electronTagAndProbeEtaPhi",
"Probe electron #eta,#phi map", 64, -3.2, 3.2,
m_PhiBinning, -3.2, 3.2);
148 std::string
hname = std::string(
"LBEvoNZcandidates");
149 std::string hlongname = std::string(
"Number of Z candidates vs LB");
152 return StatusCode::SUCCESS;
159 if (!
hasGoodTrigger(
"Zee T&P electron"))
return StatusCode::SUCCESS;
164 return StatusCode::RECOVERABLE;
187 ATH_MSG_DEBUG(
"Number of electrons: " << electron_container->size());
195 for (; e_iter!=e_end; ++e_iter) {
197 if(!(*e_iter))
continue;
204 bool passed = (*e_iter)->passSelection(isGood,
"LHLoose");
205 if(
passed || !isGood )
ATH_MSG_DEBUG(
"not a good LHLoose electron candidate found in TDS");
218 float et = (*e_iter)->pt();
224 }
else if(
et>subl_et) {
237 if (ngood_el<2)
return StatusCode::SUCCESS;
244 float mass = (lead_el->
p4()+subl_el->
p4()).M();
246 if(mass<m_MassLowerCut || mass>
m_MassUpperCut)
return StatusCode::SUCCESS;
249 float lead_eta = lead_el->
eta();
250 float lead_phi = lead_el->
phi();
251 float subl_eta = subl_el->
eta();
252 float subl_phi = subl_el->
phi();
253 ATH_MSG_DEBUG(
"Leading electron (eta,phi,et,q): (" << lead_eta <<
", " << lead_phi <<
", " << lead_et <<
", " << lead_el->
charge() <<
")");
254 ATH_MSG_DEBUG(
"Subleading electron (eta,phi,et,q): (" << subl_eta <<
", " << subl_phi <<
", " << subl_et <<
", " << subl_el->
charge() <<
")");
257 if(fabs(lead_eta)>2.47 || fabs(subl_eta)>2.47)
return StatusCode::SUCCESS;
260 if (lead_el->
charge()*subl_el->
charge()>=0)
return StatusCode::SUCCESS;
262 bool lead_isLHTight =
false;
263 if ( !lead_el->
passSelection(lead_isLHTight,
"LHTight") )
return StatusCode::FAILURE;
265 bool subl_isLHTight =
false;
266 if ( !subl_el->
passSelection(subl_isLHTight,
"LHTight") )
return StatusCode::FAILURE;
268 bool EventZcandidateUsed =
false;
273 EventZcandidateUsed =
true;
276 bool subl_isIsolated =
false;
287 bool lead_isIsolated =
false;
296 return StatusCode::SUCCESS;
303 float eta =
el->eta();
304 float phi =
el->phi();
333 if (isTight && isIso) {
377 float Re233e237 = 0.0;
382 float Re237e277 = 0.0;
407 trackp =
t->pt()*cosh(
t->eta());
418 }
else ATH_MSG_DEBUG(
"Error attempting to retrieve associated track");
424 if(trackp !=0) ep = aCluster->
e()/trackp;
426 double ec = aCluster->
et()*cosh(aCluster->
eta());
444 return StatusCode::SUCCESS;
@ ehad1
E leakage into 1st sampling of had calo (CaloSampling::HEC0 + CaloSampling::TileBar0 + CaloSampling::...
@ e233
uncalibrated energy (sum of cells) of the middle sampling in a rectangle of size 3x3 (in cell units e...
Extra patterns decribing particle interation process.
Const iterator class for DataVector/DataList.
float charge() const
Obtain the charge of the object.
Scalar phi() const
phi method
bool passed(DecisionID id, const DecisionIDContainer &idSet)
checks if required decision ID is in the set of IDs in the container
Scalar eta() const
pseudorapidity method
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
bool isolationValue(float &value, const Iso::IsolationType information) const
old Accessor for Isolation values.
@ ecore
core energy in em calo E(core) = E0(3x3) + E1(15x2) + E2(5x5) + E3(3x5)
@ ptcone20
Track isolation.
virtual FourMom_t p4() const override final
The full 4-momentum of the particle as a TLoretzVector.
@ numberOfPixelHits
these are the pixel hits, including the b-layer [unit8_t].
@ numberOfTRTHits
number of TRT hits [unit8_t].
@ f3
fraction of energy reconstructed in 3rd sampling
Description of a calorimeter cluster.
@ f1
E1/E = fraction of energy reconstructed in the first sampling, where E1 is energy in all strips belon...
virtual double eta() const
The pseudorapidity ( ) of the particle.
const uint16_t AuthorAmbiguous
Object Reconstructed by standard cluster-based algorithm.
::StatusCode StatusCode
StatusCode definition for legacy code.
virtual double phi() const override final
The azimuthal angle ( ) of the particle.
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
@ deltaPhi2
difference between the cluster phi (second sampling) and the phi of the track extrapolated to the sec...
int ir
counter of the current depth
#define ATH_MSG_WARNING(x)
float energyBE(const unsigned layer) const
Get the energy in one layer of the EM Calo.
@ numberOfSCTHits
number of hits in SCT [unit8_t].
@ e277
uncalibrated energy (sum of cells) of the middle sampling in a rectangle of size 7x7
virtual double eta() const override final
The pseudorapidity ( ) of the particle.
Class describing a TrackParticle.
@ e237
uncalibrated energy (sum of cells) of the middle sampling in a rectangle of size 3x7
@ deltaEta1
difference between the cluster eta (first sampling) and the eta of the track extrapolated to the firs...
virtual double e() const
The total energy of the particle.
bool passSelection(bool &value, const std::string &menu) const
Check if the egamma object pass a selection menu (using the name) If the menu decision is stored in t...
@ numberOfInnermostPixelLayerHits
these are the hits in the 0th pixel barrel layer
const uint16_t AuthorElectron
Object Reconstructed by standard cluster-based algorithm.