|
ATLAS Offline Software
|
Implementation for the "FSR" provider tool.
More...
#include <FsrPhotonTool.h>
|
| FsrPhotonTool (const std::string &name) |
| Create a proper constructor for Athena. More...
|
|
| ~FsrPhotonTool () |
| Create a destructor. More...
|
|
virtual void | print () const =0 |
| Print the state of the tool. More...
|
|
virtual void | print () const |
| Print the state of the tool. More...
|
|
ServiceHandle< StoreGateSvc > & | evtStore () |
| The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
const ServiceHandle< StoreGateSvc > & | evtStore () const |
| The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
const ServiceHandle< StoreGateSvc > & | detStore () const |
| The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
virtual StatusCode | sysInitialize () override |
| Perform system initialization for an algorithm. More...
|
|
virtual StatusCode | sysStart () override |
| Handle START transition. More...
|
|
virtual std::vector< Gaudi::DataHandle * > | inputHandles () const override |
| Return this algorithm's input handles. More...
|
|
virtual std::vector< Gaudi::DataHandle * > | outputHandles () const override |
| Return this algorithm's output handles. More...
|
|
Gaudi::Details::PropertyBase & | declareProperty (Gaudi::Property< T > &t) |
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleKey &hndl, const std::string &doc, const SG::VarHandleKeyType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleBase &hndl, const std::string &doc, const SG::VarHandleType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleKeyArray &hndArr, const std::string &doc, const SG::VarHandleKeyArrayType &) |
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, T &property, const std::string &doc, const SG::NotHandleType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, T &property, const std::string &doc="none") |
| Declare a new Gaudi property. More...
|
|
void | updateVHKA (Gaudi::Details::PropertyBase &) |
|
MsgStream & | msg () const |
|
MsgStream & | msg (const MSG::Level lvl) const |
|
bool | msgLvl (const MSG::Level lvl) const |
|
|
virtual StatusCode | initialize () |
| Function initialising the tool. More...
|
|
|
virtual CP::CorrectionCode | getFsrPhoton (const xAOD::IParticle *part, FsrCandidate &candidate, xAOD::PhotonContainer *photons, const xAOD::ElectronContainer *electrons) |
| Get the "FSR candidate" as a return value for a muon (collinar and far FSR) More...
|
|
virtual std::vector< FsrCandidate > * | getFsrCandidateList (const xAOD::IParticle *part, xAOD::PhotonContainer *photons, const xAOD::ElectronContainer *electrons) |
| Find ALL FSR candidates for a given particle (electron or muon) providing newly calibrated photon and electron containers. More...
|
|
virtual std::vector< FsrCandidate > * | getFarFsrCandidateList (const xAOD::IParticle *part, xAOD::PhotonContainer *photons_cont) |
| Find and Return ALL FAR FSR candidates. More...
|
|
virtual std::vector< FsrCandidate > * | getNearFsrCandidateList (const xAOD::Muon *part, const xAOD::PhotonContainer *photons_cont, const xAOD::ElectronContainer *electrons_cont) |
| Find and Return ALL NEAR FSR candidates. More...
|
|
|
std::vector< FsrCandidate > * | sortFsrCandidates (const std::vector< std::pair< const xAOD::IParticle *, double > > &FsrCandList, const std::string &option="ET") |
| Need for the FSR search. More...
|
|
bool | isOverlap (const xAOD::Electron_v1 *electron, const std::vector< std::pair< const xAOD::IParticle *, double > > &phfsr, unsigned int nofPhFsr) |
|
double | deltaR (float muonEta, float muonPhi, float phEta, float phPhi) const |
|
double | deltaPhi (float phi1, float phi2) const |
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &) |
| specialization for handling Gaudi::Property<SG::VarHandleKey> More...
|
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyArrayType &) |
| specialization for handling Gaudi::Property<SG::VarHandleKeyArray> More...
|
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleType &) |
| specialization for handling Gaudi::Property<SG::VarHandleBase> More...
|
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T > &t, const SG::NotHandleType &) |
| specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray> More...
|
|
|
Gaudi::Property< double > | m_high_et_min {this, "high_et_min", 3500. , "Minimum Et cut for higg Et photons" } |
|
Gaudi::Property< double > | m_overlap_el_ph {this, "overlap_el_ph", 0.01 , "Overlap dR for electrons and photons" } |
|
Gaudi::Property< double > | m_overlap_el_mu {this, "overlap_el_mu", 0.001 , "Overlap dR for electrons and muons" } |
|
Gaudi::Property< double > | m_far_fsr_drcut {this, "far_fsr_drcut", 0.15 , "Minimum dR cut for far fsr" } |
|
Gaudi::Property< double > | m_far_fsr_etcut {this, "far_fsr_etcut", 10000.0 , "Minimum et cut for far fsr" } |
|
Gaudi::Property< double > | m_drcut {this, "drcut", 0.15 , "Maximun dR cut to be near fsr" } |
|
Gaudi::Property< double > | m_etcut {this, "etcut", 1000.0 , "Minimum Et cut for near fsr" } |
|
Gaudi::Property< double > | m_f1cut {this, "f1cut", 0.1 , "f1 cut for high Et clusters" } |
|
Gaudi::Property< double > | m_topo_drcut {this, "topo_drcut", 0.08 , "Maximum dR cut for low Et clusters" } |
|
Gaudi::Property< double > | m_topo_f1cut {this, "topo_f1cut", 0.2 , "Minimum f1 cut for low Et clusters" } |
|
Gaudi::Property< std::string > | m_far_fsr_isoWorkingPoint {this, "far_fsr_isoWorkingPoint", "FixedCutLoose", "Far fsr isolation working point" } |
|
Gaudi::Property< std::string > | m_energyRescalerName {this, "egCalibToolName", "" , "EnergyRescale tool to calibrate photons as electrons" } |
|
Gaudi::Property< bool > | m_AFII_corr {this, "AFII_corr", false , "Is AFII for isolation correction" } |
|
Gaudi::Property< bool > | m_is_mc {this, "IsMC", true , "Is MC" } |
|
Gaudi::Property< bool > | m_doCloseByIso {this, "DoCloseByCorrection", true , "flag to use isolation variables with 'CloseByCorr' suffix " } |
|
std::vector< FsrCandidate > | m_fsrPhotons |
|
FsrCandidate::FsrType | m_fsr_type |
|
ToolHandle< CP::IIsolationSelectionTool > | m_isoSelTool |
|
ToolHandle< CP::IIsolationCorrectionTool > | m_isoCorrTool |
|
ToolHandle< CP::IEgammaCalibrationAndSmearingTool > | m_energyRescaler |
|
StoreGateSvc_t | m_evtStore |
| Pointer to StoreGate (event store by default) More...
|
|
StoreGateSvc_t | m_detStore |
| Pointer to StoreGate (detector store by default) More...
|
|
std::vector< SG::VarHandleKeyArray * > | m_vhka |
|
bool | m_varHandleArraysDeclared |
|
Implementation for the "FSR" provider tool.
- Author
- Tulay Cuhadar Donszelmann tcuha.nosp@m.dar@.nosp@m.cern..nosp@m.ch
Definition at line 30 of file FsrPhotonTool.h.
◆ StoreGateSvc_t
◆ FsrPhotonTool()
FSR::FsrPhotonTool::FsrPhotonTool |
( |
const std::string & |
name | ) |
|
Create a proper constructor for Athena.
Create a constructor for standalone usage
Definition at line 20 of file FsrPhotonTool.cxx.
◆ ~FsrPhotonTool()
FSR::FsrPhotonTool::~FsrPhotonTool |
( |
| ) |
|
◆ compareEt()
◆ declareGaudiProperty() [1/4]
specialization for handling Gaudi::Property<SG::VarHandleKeyArray>
Definition at line 170 of file AthCommonDataStore.h.
175 hndl.documentation());
◆ declareGaudiProperty() [2/4]
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition at line 156 of file AthCommonDataStore.h.
161 hndl.documentation());
◆ declareGaudiProperty() [3/4]
specialization for handling Gaudi::Property<SG::VarHandleBase>
Definition at line 184 of file AthCommonDataStore.h.
189 hndl.documentation());
◆ declareGaudiProperty() [4/4]
◆ declareProperty() [1/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
hndl | Object holding the property value. |
doc | Documentation string for the property. |
This is the version for types that derive from SG::VarHandleBase
. The property value object is put on the input and output lists as appropriate; then we forward to the base class.
Definition at line 245 of file AthCommonDataStore.h.
250 this->declare(hndl.
vhKey());
251 hndl.
vhKey().setOwner(
this);
253 return PBASE::declareProperty(
name,hndl,
doc);
◆ declareProperty() [2/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
hndl | Object holding the property value. |
doc | Documentation string for the property. |
This is the version for types that derive from SG::VarHandleKey
. The property value object is put on the input and output lists as appropriate; then we forward to the base class.
Definition at line 221 of file AthCommonDataStore.h.
229 return PBASE::declareProperty(
name,hndl,
doc);
◆ declareProperty() [3/6]
◆ declareProperty() [4/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
property | Object holding the property value. |
doc | Documentation string for the property. |
This is the generic version, for types that do not derive from SG::VarHandleKey
. It just forwards to the base class version of declareProperty
.
Definition at line 333 of file AthCommonDataStore.h.
338 return PBASE::declareProperty(
name, property,
doc);
◆ declareProperty() [5/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
property | Object holding the property value. |
doc | Documentation string for the property. |
This dispatches to either the generic declareProperty
or the one for VarHandle/Key/KeyArray.
Definition at line 352 of file AthCommonDataStore.h.
◆ declareProperty() [6/6]
◆ deltaPhi()
double FSR::FsrPhotonTool::deltaPhi |
( |
float |
phi1, |
|
|
float |
phi2 |
|
) |
| const |
|
private |
◆ deltaR()
double FSR::FsrPhotonTool::deltaR |
( |
float |
muonEta, |
|
|
float |
muonPhi, |
|
|
float |
phEta, |
|
|
float |
phPhi |
|
) |
| const |
|
private |
Definition at line 468 of file FsrPhotonTool.cxx.
470 double deta = fabs(meta - peta);
472 double dR = sqrt((dphi*dphi)+(deta*deta));
◆ detStore()
◆ evtStore() [1/2]
◆ evtStore() [2/2]
◆ extraDeps_update_handler()
Add StoreName to extra input/output deps as needed.
use the logic of the VarHandleKey to parse the DataObjID keys supplied via the ExtraInputs and ExtraOuputs Properties to add the StoreName if it's not explicitly given
◆ getFarFsrCandidateList()
Find and Return ALL FAR FSR candidates.
Set FSR type to far
return sorted list
Implements FSR::IFsrPhotonTool.
Definition at line 184 of file FsrPhotonTool.cxx.
193 std::vector< std::pair <const xAOD::IParticle*, double> > farFsrCandList;
194 farFsrCandList.clear();
195 farFsrCandList.reserve(photons_cont->
size());
201 ATH_MSG_DEBUG(
"In getFarFsrCandidateList function : photon size = " << photons_cont->
size());
203 for (
auto ph : *photons_cont) {
205 bool is_tight_photon = DFCommonPhotonsIsEMTight(*ph);
213 ATH_MSG_ERROR(
"applyIsoSelection: Unable to apply iso correction for photon " << ph->pt());
223 bool far_fsr_drcut_isOK =
false;
228 if (far_fsr_drcut_isOK &&
dr < 0.2) {
229 ATH_MSG_VERBOSE(
"Far Fsr candidate kinematics : author " << ph->author()
230 <<
" Et = " << ph->p4().Et()
232 <<
" isoIsOK = " << farPhIsoOK );
235 if(far_fsr_drcut_isOK) farFsrCandList.push_back(std::make_pair(ph,
dr));
238 ATH_MSG_DEBUG(
"Far Fsr candidate kinematics : author " << ph->author()
239 <<
" Et = " << ph->p4().Et()
240 <<
" tight = " << is_tight_photon
241 <<
" farPhIsoOK = " << farPhIsoOK
242 <<
" far_fsr_drcut_isOK = " << far_fsr_drcut_isOK);
◆ getFsrCandidateList()
Find ALL FSR candidates for a given particle (electron or muon) providing newly calibrated photon and electron containers.
Search for far fsr for for electron and muon Electron : far fsr is the only option - return the result Muon : In case collinar fsr not found, check the far fsr
Set FSR type to far
Implements FSR::IFsrPhotonTool.
Definition at line 135 of file FsrPhotonTool.cxx.
144 ATH_MSG_ERROR(
"getFsrCandidateList: No Photon container provided" );
149 photons_cont = photons;
154 ATH_MSG_ERROR(
"getFsrCandidateList: No Electron container provided" );
167 m_fsr_type = FsrCandidate::FsrType::FsrUnknown;
◆ getFsrPhoton()
Get the "FSR candidate" as a return value for a muon (collinar and far FSR)
Implements FSR::IFsrPhotonTool.
Definition at line 101 of file FsrPhotonTool.cxx.
107 ATH_MSG_ERROR(
"getFsrPhoton: You MUST provide photon AND electron containers" );
108 candidate = FsrCandidate();
118 if (cands->size() > 0) {
119 candidate = cands->at(0);
122 candidate = FsrCandidate();
124 <<
", deltaR = " << candidate.deltaR
125 <<
", Et = " << candidate.Et
126 <<
", Eta = " << candidate.eta
127 <<
", Phi = " << candidate.phi
128 <<
", type = " <<candidate.type);
◆ getKey()
Get the (hashed) key of an object that is in the event store.
This is a bit of a special one. StoreGateSvc
and xAOD::TEvent
both provide ways for getting the SG::sgkey_t
key for an object that is in the store, based on a bare pointer. But they provide different interfaces for doing so.
In order to allow tools to efficiently perform this operation, they can use this helper function.
- See also
- asg::AsgTool::getName
- Parameters
-
ptr | The bare pointer to the object that the event store should know about |
- Returns
- The hashed key of the object in the store. If not found, an invalid (zero) key.
Definition at line 119 of file AsgTool.cxx.
121 #ifdef XAOD_STANDALONE
127 return (
proxy ==
nullptr ? 0 :
proxy->sgkey() );
128 #endif // XAOD_STANDALONE
◆ getName()
const std::string & asg::AsgTool::getName |
( |
const void * |
ptr | ) |
const |
|
inherited |
Get the name of an object that is / should be in the event store.
This is a bit of a special one. StoreGateSvc
and xAOD::TEvent
both provide ways for getting the std::string
name for an object that is in the store, based on a bare pointer. But they provide different interfaces for doing so.
In order to allow tools to efficiently perform this operation, they can use this helper function.
- See also
- asg::AsgTool::getKey
- Parameters
-
ptr | The bare pointer to the object that the event store should know about |
- Returns
- The string name of the object in the store. If not found, an empty string.
Definition at line 106 of file AsgTool.cxx.
108 #ifdef XAOD_STANDALONE
114 static const std::string
dummy =
"";
116 #endif // XAOD_STANDALONE
◆ getNearFsrCandidateList()
Find and Return ALL NEAR FSR candidates.
Set FSR type to far
Start looking for collinar FSR for muons Loop over photon candidates and choose the FSR photons
Implements FSR::IFsrPhotonTool.
Definition at line 251 of file FsrPhotonTool.cxx.
257 std::vector< std::pair <const xAOD::IParticle*, double> > nearFsrCandList;
259 nearFsrCandList.reserve(photons_cont->
size()+electrons_cont->
size());
260 ATH_MSG_DEBUG(
"In getNearFsrCandidateList function : photon size = " << photons_cont->
size()
261 <<
", electron size = " << electrons_cont->
size());
263 for (
auto photon : *photons_cont) {
271 && (m_etcut < photon->p4().Et())) ) {
278 nearFsrCandList.push_back(std::make_pair(
photon,
dr));
279 ATH_MSG_DEBUG(
"Near Fsr candidates ( photon ) kinematics ; author "
281 <<
" Et = " <<
photon->p4().Et()
282 <<
" f1 = " << photon_f1
288 unsigned int nofPhFsr = nearFsrCandList.size();
291 for (
auto electron : *electrons_cont)
294 if ( (nearFsrCandList.size() > 0) &&
isOverlap(
electron, nearFsrCandList, nofPhFsr) )
continue;
310 float clEt = eCorr*
electron->caloCluster()->et();
312 ATH_MSG_VERBOSE(
"Near Fsr candidate ( electron ) Et = " << clEt <<
" eCorr " << eCorr);
316 if( elmutrackmatch &&
318 (m_high_et_min < clEt && electron_f1 >
m_f1cut )) ) {
323 nearFsrCandList.push_back(std::make_pair(
electron,
dr));
324 ATH_MSG_DEBUG(
"Near Fsr candidates ( electron ) kinematics : author "
327 <<
" f1 = " << electron_f1
330 else ATH_MSG_VERBOSE(
"FAILED Near Fsr candidates ( electron ) kinematics : author "
333 <<
" f1 = " << electron_f1
340 ATH_MSG_DEBUG(
"FAILED Near Fsr candidates ( electron ) kinematics : author "
343 <<
" f1 = " << electron_f1
345 <<
" theta/phi el/mu " << electron_track->
theta() <<
"/" <<
muon->p4().Theta()
346 <<
"/" << electron_track->
phi() <<
"/" <<
muon->phi()
347 <<
" theta/phi mu trk " << muon_track->
theta() <<
"/" << muon_track->
phi()
◆ getProperty()
template<class T >
const T* asg::AsgTool::getProperty |
( |
const std::string & |
name | ) |
const |
|
inherited |
Get one of the tool's properties.
◆ initialize()
StatusCode FSR::FsrPhotonTool::initialize |
( |
| ) |
|
|
virtual |
Function initialising the tool.
Reimplemented from asg::AsgTool.
Definition at line 32 of file FsrPhotonTool.cxx.
69 RETURN_CHECK(
"initialize", config2.setProperty(
"IsoDecSuffix",
"CloseByCorr"));
85 return StatusCode::FAILURE;
91 ATH_MSG_ERROR(
"initialize - CANNOT retrive IEgammaCalibrationAndSmearingTool. Please set the property 'egCalibToolName' to be able to recalibrate fsr photon found as an electron ");
92 return StatusCode::FAILURE;
97 return StatusCode::SUCCESS;
◆ inputHandles()
Return this algorithm's input handles.
We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.
◆ isOverlap()
Definition at line 445 of file FsrPhotonTool.cxx.
447 for (
unsigned int indx=0; indx < nofPhFsr; indx++ ) {
452 ph_cl->
eta(), ph_cl->
phi());
454 << ph_cl->
et() <<
"/" << el_cl->
et());
◆ msg() [1/2]
◆ msg() [2/2]
◆ msg_level_name()
const std::string & asg::AsgTool::msg_level_name |
( |
| ) |
const |
|
inherited |
A deprecated function for getting the message level's name.
Instead of using this, weirdly named function, user code should get the string name of the current minimum message level (in case they really need it...), with:
MSG::name( msg().level() )
This function's name doesn't follow the ATLAS coding rules, and as such will be removed in the not too distant future.
- Returns
- The string name of the current minimum message level that's printed
Definition at line 101 of file AsgTool.cxx.
◆ msgLvl()
◆ outputHandles()
Return this algorithm's output handles.
We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.
◆ print() [1/2]
void asg::AsgTool::print |
( |
| ) |
const |
|
virtualinherited |
Print the state of the tool.
Implements asg::IAsgTool.
Reimplemented in JetRecTool, JetFinder, JetModifiedMassDrop, JetFromPseudojet, JetReclusterer, JetReclusteringTool, JetTruthLabelingTool, JetPileupLabelingTool, HI::HIPileupTool, JetDumper, JetBottomUpSoftDrop, JetRecursiveSoftDrop, JetSoftDrop, JetConstituentsRetriever, JetSubStructureMomentToolsBase, JetSplitter, JetToolRunner, JetPruner, JetPseudojetRetriever, JetTrimmer, AsgHelloTool, and KtDeltaRTool.
Definition at line 131 of file AsgTool.cxx.
◆ print() [2/2]
virtual void asg::IAsgTool::print |
( |
| ) |
const |
|
pure virtualinherited |
Print the state of the tool.
Implemented in JetRecTool, JetFinder, JetModifiedMassDrop, JetFromPseudojet, JetReclusterer, JetReclusteringTool, JetTruthLabelingTool, JetPileupLabelingTool, HI::HIPileupTool, asg::AsgTool, JetDumper, JetBottomUpSoftDrop, JetRecursiveSoftDrop, JetSoftDrop, JetConstituentsRetriever, JetSubStructureMomentToolsBase, JetSplitter, JetToolRunner, JetPruner, JetPseudojetRetriever, JetTrimmer, AsgHelloTool, and KtDeltaRTool.
◆ renounce()
◆ renounceArray()
◆ sortFsrCandidates()
Need for the FSR search.
Definition at line 358 of file FsrPhotonTool.cxx.
364 for (
unsigned int i=0;
i < FsrCandList.size();
i++ ) {
371 c.container =
"electron" ;
376 photon.Egamma_v1::operator=(*electron);
378 ATH_MSG_ERROR(
"FsrPhotonTool::sortFsrCandidates: Unable to applyCorrection to photon ");
382 c.eta =
photon.caloCluster()->eta();
383 c.phi =
photon.caloCluster()->phi();
386 <<
electron->caloCluster()->eta() <<
"/" <<
electron->caloCluster()->phi() <<
" "
388 <<
photon.caloCluster()->eta() <<
"/" <<
photon.caloCluster()->phi());
400 float clEt = eCorr*
electron->caloCluster()->et();
409 c.container =
"photon";
416 ATH_MSG_WARNING(
"sortFsrCandidates: undefined particle - NOT electron nor photon. Should never get here!" );
423 c.deltaR = FsrCandList.at(
i).second;
424 if(
c.deltaR < 0.05)
c.Et -= 400./cosh(
particle->eta());
428 ATH_MSG_DEBUG(
"sortFsrCandidates: save fsr candidate f1 = " <<
c.f1
429 <<
", deltaR = " <<
c.deltaR
431 <<
", Eta = " <<
c.eta
432 <<
", Phi = " <<
c.phi
433 <<
", type = " <<
c.type);
◆ sysInitialize()
◆ sysStart()
Handle START transition.
We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.
◆ updateVHKA()
◆ m_AFII_corr
Gaudi::Property<bool> FSR::FsrPhotonTool::m_AFII_corr {this, "AFII_corr", false , "Is AFII for isolation correction" } |
|
private |
◆ m_detStore
◆ m_doCloseByIso
Gaudi::Property<bool> FSR::FsrPhotonTool::m_doCloseByIso {this, "DoCloseByCorrection", true , "flag to use isolation variables with 'CloseByCorr' suffix " } |
|
private |
◆ m_drcut
Gaudi::Property<double> FSR::FsrPhotonTool::m_drcut {this, "drcut", 0.15 , "Maximun dR cut to be near fsr" } |
|
private |
◆ m_energyRescaler
◆ m_energyRescalerName
Gaudi::Property<std::string> FSR::FsrPhotonTool::m_energyRescalerName {this, "egCalibToolName", "" , "EnergyRescale tool to calibrate photons as electrons" } |
|
private |
◆ m_etcut
Gaudi::Property<double> FSR::FsrPhotonTool::m_etcut {this, "etcut", 1000.0 , "Minimum Et cut for near fsr" } |
|
private |
◆ m_evtStore
◆ m_f1cut
Gaudi::Property<double> FSR::FsrPhotonTool::m_f1cut {this, "f1cut", 0.1 , "f1 cut for high Et clusters" } |
|
private |
◆ m_far_fsr_drcut
Gaudi::Property<double> FSR::FsrPhotonTool::m_far_fsr_drcut {this, "far_fsr_drcut", 0.15 , "Minimum dR cut for far fsr" } |
|
private |
◆ m_far_fsr_etcut
Gaudi::Property<double> FSR::FsrPhotonTool::m_far_fsr_etcut {this, "far_fsr_etcut", 10000.0 , "Minimum et cut for far fsr" } |
|
private |
◆ m_far_fsr_isoWorkingPoint
Gaudi::Property<std::string> FSR::FsrPhotonTool::m_far_fsr_isoWorkingPoint {this, "far_fsr_isoWorkingPoint", "FixedCutLoose", "Far fsr isolation working point" } |
|
private |
◆ m_fsr_type
◆ m_fsrPhotons
◆ m_high_et_min
Gaudi::Property<double> FSR::FsrPhotonTool::m_high_et_min {this, "high_et_min", 3500. , "Minimum Et cut for higg Et photons" } |
|
private |
◆ m_is_mc
Gaudi::Property<bool> FSR::FsrPhotonTool::m_is_mc {this, "IsMC", true , "Is MC" } |
|
private |
◆ m_isoCorrTool
◆ m_isoSelTool
◆ m_overlap_el_mu
Gaudi::Property<double> FSR::FsrPhotonTool::m_overlap_el_mu {this, "overlap_el_mu", 0.001 , "Overlap dR for electrons and muons" } |
|
private |
◆ m_overlap_el_ph
Gaudi::Property<double> FSR::FsrPhotonTool::m_overlap_el_ph {this, "overlap_el_ph", 0.01 , "Overlap dR for electrons and photons" } |
|
private |
◆ m_topo_drcut
Gaudi::Property<double> FSR::FsrPhotonTool::m_topo_drcut {this, "topo_drcut", 0.08 , "Maximum dR cut for low Et clusters" } |
|
private |
◆ m_topo_f1cut
Gaudi::Property<double> FSR::FsrPhotonTool::m_topo_f1cut {this, "topo_f1cut", 0.2 , "Minimum f1 cut for low Et clusters" } |
|
private |
◆ m_varHandleArraysDeclared
◆ m_vhka
The documentation for this class was generated from the following files:
virtual double phi() const
The azimuthal angle ( ) of the particle.
#define RETURN_CHECK(CONTEXT, EXP)
Helper macro for checking return codes in a compact form in the code.
constexpr ParticleHypothesis particle[PARTICLEHYPOTHESES]
the array of masses
@ topoetcone20
Topo-cluster ET-sum.
Helper class to provide type-safe access to aux data.
@ VIEW_ELEMENTS
this data object is a view, it does not own its elmts
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
std::vector< SG::VarHandleKeyArray * > m_vhka
#define ATH_MSG_VERBOSE(x)
Class providing the definition of the 4-vector interface.
virtual void setOwner(IDataHandleHolder *o)=0
ServiceHandle< StoreGateSvc > & evtStore()
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
@ Error
Some error happened during the object correction.
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 xAOD::CaloCluster * caloCluster(size_t index=0) const
Pointer to the xAOD::CaloCluster/s that define the electron candidate.
const std::string & name(Level lvl)
Convenience function for translating message levels to strings.
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
virtual void renounce()=0
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
@ Ok
The correction was done successfully.
void sort(typename std::reverse_iterator< DataModel_detail::iterator< DVL > > beg, typename std::reverse_iterator< DataModel_detail::iterator< DVL > > end, const Compare &comp)
Specialization of sort for DataVector/List.
#define ATH_MSG_WARNING(x)
DataVector adapter that acts like it holds const pointers.
Return value from object correction CP tools.
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
Class describing a TrackParticle.
setBGCode setTAP setLVL2ErrorBits bool
float theta() const
Returns the parameter, which has range 0 to .
size_type size() const noexcept
Returns the number of elements in the collection.
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
virtual double phi() const override final
The azimuthal angle ( ) of the particle (has range to .)