All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups
IsolatedLeptonFinderProcessor Class Reference

Marlin processor for finding isolated leptons. More...

#include <IsolatedLeptonFinderProcessor.h>

Inheritance diagram for IsolatedLeptonFinderProcessor:
[legend]

Public Member Functions

virtual ProcessornewProcessor ()
 
 IsolatedLeptonFinderProcessor ()
 
 IsolatedLeptonFinderProcessor (const IsolatedLeptonFinderProcessor &)=delete
 
IsolatedLeptonFinderProcessoroperator= (const IsolatedLeptonFinderProcessor &)=delete
 
virtual void init ()
 
virtual void processEvent (LCEvent *evt)
 
virtual void end ()
 

Protected Member Functions

bool IsGoodLepton (ReconstructedParticle *pfo)
 Returns true if pfo is a lepton. More...
 
bool IsIsolatedLepton (ReconstructedParticle *pfo)
 Returns true if pfo is an isolated lepton. More...
 
bool IsIsolatedRectangular (ReconstructedParticle *pfo)
 Returns true if isolated, as defined by the cone energy. More...
 
bool IsIsolatedPolynomial (ReconstructedParticle *pfo)
 
bool IsIsolatedJet (ReconstructedParticle *pfo)
 
bool IsCharged (ReconstructedParticle *pfo)
 Returns true if charged. More...
 
bool IsLepton (ReconstructedParticle *pfo)
 Returns true if it passes muon or electron ID cuts. More...
 
bool IsElectron (ReconstructedParticle *pfo)
 Returns true if it passes electron ID cuts. More...
 
bool IsMuon (ReconstructedParticle *pfo)
 Returns true if it passes muon ID cuts. More...
 
bool IsPhoton (ReconstructedParticle *pfo)
 Returns true if it passes photon ID cuts. More...
 
bool PassesImpactParameterCuts (ReconstructedParticle *pfo)
 Returns true if it passes impact parameter cuts. More...
 
bool PassesImpactParameterSignificanceCuts (ReconstructedParticle *pfo)
 Returns true if it passes impact parameter significance cuts. More...
 
bool isMoreEnergetic (int i, int j)
 Helper function to order PFOS by energy. More...
 
void dressLepton (ReconstructedParticleImpl *pfo, int PFO_idx)
 Adds photons around lepton to four vector. More...
 
float getConeEnergy (ReconstructedParticle *pfo)
 Calculates the cone energy. More...
 
void getCalEnergy (ReconstructedParticle *pfo, float *cale)
 [0]:Ecal energy, [1]:Hcal energy More...
 
ReconstructedParticleImpl * CopyReconstructedParticle (ReconstructedParticle *pfo)
 Replace missing copy constructor by hand. More...
 

Protected Attributes

std::string _inputPFOsCollection {}
 Input collection. More...
 
std::string _outputPFOsRemovedIsoLepCollection {}
 Output collection (all input with isolated leptons removed) More...
 
std::string _outputIsoLepCollection {}
 Output collection of isolated leptons. More...
 
std::string _outputPFOsRemovedDressedIsoLepCollection {}
 Output collection (all input with dressed isolated leptons removed) More...
 
std::string _outputDressedIsoLepCollection {}
 Output collection of dressed isolated leptons. More...
 
LCCollection * _pfoCol =nullptr
 
float _cosConeAngle = 0
 
std::vector
< ReconstructedParticle * > 
_workingList = {}
 
bool _usePID = false
 If set to true, uses PID cuts. More...
 
float _electronMinEnergyDepositByMomentum = 0
 
float _electronMaxEnergyDepositByMomentum = 0
 
float _electronMinEcalToHcalFraction = 0
 
float _electronMaxEcalToHcalFraction = 0
 
float _muonMinEnergyDepositByMomentum = 0
 
float _muonMaxEnergyDepositByMomentum = 0
 
float _muonMinEcalToHcalFraction = 0
 
float _muonMaxEcalToHcalFraction = 0
 
bool _useImpactParameter = false
 If set to true, uses impact parameter cuts. More...
 
float _minD0 = 0
 
float _maxD0 = 0
 
float _minZ0 = 0
 
float _maxZ0 = 0
 
float _minR0 = 0
 
float _maxR0 = 0
 
bool _useImpactParameterSignificance = false
 If set to true, uses impact parameter significance cuts. More...
 
float _minD0Sig = 0
 
float _maxD0Sig = 0
 
float _minZ0Sig = 0
 
float _maxZ0Sig = 0
 
float _minR0Sig = 0
 
float _maxR0Sig = 0
 
bool _useRectangularIsolation = false
 If set to true, uses rectangular cuts for isolation. More...
 
float _isoMinTrackEnergy = 0
 
float _isoMaxTrackEnergy = 0
 
float _isoMinConeEnergy = 0
 
float _isoMaxConeEnergy = 0
 
bool _usePolynomialIsolation = false
 If set to true, uses polynomial cuts for isolation. More...
 
float _isoPolynomialA = 0
 
float _isoPolynomialB = 0
 
float _isoPolynomialC = 0
 
bool _useJetIsolation = false
 If set to true, uses jet-based isolation (LAL algorithm) More...
 
std::string _jetCollectionName {}
 
std::map
< ReconstructedParticle
*, ReconstructedParticle * > 
_rpJetMap {}
 
float _jetIsoVetoMinXt = 0
 
float _jetIsoVetoMaxXt = 0
 
float _jetIsoVetoMinZ = 0
 
float _jetIsoVetoMaxZ = 0
 
bool _useDressedLeptons = false
 If set to true, uses lepton dressing. More...
 
bool _mergeCloseElectrons = false
 
float _dressPhotonConeAngle = 0
 
float _mergeLeptonConeAngle = 0
 
bool _usePandoraIDs = false
 If set to true, uses Pandora particle IDs. More...
 

Detailed Description

Marlin processor for finding isolated leptons.

Author
Ryo Yonamine yonam.nosp@m.ine@.nosp@m.post..nosp@m.kek..nosp@m.jp
Tomohiko Tanabe tomoh.nosp@m.iko@.nosp@m.icepp.nosp@m..s.u.nosp@m.-toky.nosp@m.o.ac.nosp@m..jp
Version
$Id:$

Given a list of ReconstructedParticle, identify isolated leptons based on the track cone energy, lepton identification, and the track impact parameters (optional).

Definition at line 27 of file IsolatedLeptonFinderProcessor.h.

Constructor & Destructor Documentation

IsolatedLeptonFinderProcessor::IsolatedLeptonFinderProcessor ( )

Definition at line 25 of file IsolatedLeptonFinderProcessor.cc.

IsolatedLeptonFinderProcessor::IsolatedLeptonFinderProcessor ( const IsolatedLeptonFinderProcessor )
delete

Member Function Documentation

ReconstructedParticleImpl * IsolatedLeptonFinderProcessor::CopyReconstructedParticle ( ReconstructedParticle *  pfo)
protected

Replace missing copy constructor by hand.

Definition at line 414 of file IsolatedLeptonFinderProcessor.cc.

void IsolatedLeptonFinderProcessor::dressLepton ( ReconstructedParticleImpl *  pfo,
int  PFO_idx 
)
protected

Adds photons around lepton to four vector.

Definition at line 371 of file IsolatedLeptonFinderProcessor.cc.

void IsolatedLeptonFinderProcessor::end ( )
virtual

Definition at line 412 of file IsolatedLeptonFinderProcessor.cc.

void IsolatedLeptonFinderProcessor::getCalEnergy ( ReconstructedParticle *  pfo,
float *  cale 
)
protected

[0]:Ecal energy, [1]:Hcal energy

Definition at line 635 of file IsolatedLeptonFinderProcessor.cc.

float IsolatedLeptonFinderProcessor::getConeEnergy ( ReconstructedParticle *  pfo)
protected

Calculates the cone energy.

Definition at line 615 of file IsolatedLeptonFinderProcessor.cc.

void IsolatedLeptonFinderProcessor::init ( )
virtual

Definition at line 273 of file IsolatedLeptonFinderProcessor.cc.

bool IsolatedLeptonFinderProcessor::IsCharged ( ReconstructedParticle *  pfo)
protected

Returns true if charged.

Definition at line 434 of file IsolatedLeptonFinderProcessor.cc.

bool IsolatedLeptonFinderProcessor::IsElectron ( ReconstructedParticle *  pfo)
protected

Returns true if it passes electron ID cuts.

Definition at line 443 of file IsolatedLeptonFinderProcessor.cc.

bool IsolatedLeptonFinderProcessor::IsGoodLepton ( ReconstructedParticle *  pfo)
protected

Returns true if pfo is a lepton.

Definition at line 492 of file IsolatedLeptonFinderProcessor.cc.

bool IsolatedLeptonFinderProcessor::IsIsolatedJet ( ReconstructedParticle *  pfo)
protected

Definition at line 544 of file IsolatedLeptonFinderProcessor.cc.

bool IsolatedLeptonFinderProcessor::IsIsolatedLepton ( ReconstructedParticle *  pfo)
protected

Returns true if pfo is an isolated lepton.

Definition at line 509 of file IsolatedLeptonFinderProcessor.cc.

bool IsolatedLeptonFinderProcessor::IsIsolatedPolynomial ( ReconstructedParticle *  pfo)
protected

Definition at line 535 of file IsolatedLeptonFinderProcessor.cc.

bool IsolatedLeptonFinderProcessor::IsIsolatedRectangular ( ReconstructedParticle *  pfo)
protected

Returns true if isolated, as defined by the cone energy.

Definition at line 523 of file IsolatedLeptonFinderProcessor.cc.

bool IsolatedLeptonFinderProcessor::IsLepton ( ReconstructedParticle *  pfo)
protected

Returns true if it passes muon or electron ID cuts.

Definition at line 485 of file IsolatedLeptonFinderProcessor.cc.

bool IsolatedLeptonFinderProcessor::isMoreEnergetic ( int  i,
int  j 
)
inlineprotected

Helper function to order PFOS by energy.

Definition at line 77 of file IsolatedLeptonFinderProcessor.h.

bool IsolatedLeptonFinderProcessor::IsMuon ( ReconstructedParticle *  pfo)
protected

Returns true if it passes muon ID cuts.

Definition at line 464 of file IsolatedLeptonFinderProcessor.cc.

bool IsolatedLeptonFinderProcessor::IsPhoton ( ReconstructedParticle *  pfo)
protected

Returns true if it passes photon ID cuts.

Definition at line 439 of file IsolatedLeptonFinderProcessor.cc.

virtual Processor* IsolatedLeptonFinderProcessor::newProcessor ( )
inlinevirtual

Definition at line 31 of file IsolatedLeptonFinderProcessor.h.

IsolatedLeptonFinderProcessor& IsolatedLeptonFinderProcessor::operator= ( const IsolatedLeptonFinderProcessor )
delete
bool IsolatedLeptonFinderProcessor::PassesImpactParameterCuts ( ReconstructedParticle *  pfo)
protected

Returns true if it passes impact parameter cuts.

Definition at line 570 of file IsolatedLeptonFinderProcessor.cc.

bool IsolatedLeptonFinderProcessor::PassesImpactParameterSignificanceCuts ( ReconstructedParticle *  pfo)
protected

Returns true if it passes impact parameter significance cuts.

Definition at line 590 of file IsolatedLeptonFinderProcessor.cc.

void IsolatedLeptonFinderProcessor::processEvent ( LCEvent *  evt)
virtual

Definition at line 278 of file IsolatedLeptonFinderProcessor.cc.

Member Data Documentation

float IsolatedLeptonFinderProcessor::_cosConeAngle = 0
protected

Definition at line 111 of file IsolatedLeptonFinderProcessor.h.

float IsolatedLeptonFinderProcessor::_dressPhotonConeAngle = 0
protected

Definition at line 169 of file IsolatedLeptonFinderProcessor.h.

float IsolatedLeptonFinderProcessor::_electronMaxEcalToHcalFraction = 0
protected

Definition at line 119 of file IsolatedLeptonFinderProcessor.h.

float IsolatedLeptonFinderProcessor::_electronMaxEnergyDepositByMomentum = 0
protected

Definition at line 117 of file IsolatedLeptonFinderProcessor.h.

float IsolatedLeptonFinderProcessor::_electronMinEcalToHcalFraction = 0
protected

Definition at line 118 of file IsolatedLeptonFinderProcessor.h.

float IsolatedLeptonFinderProcessor::_electronMinEnergyDepositByMomentum = 0
protected

Definition at line 116 of file IsolatedLeptonFinderProcessor.h.

std::string IsolatedLeptonFinderProcessor::_inputPFOsCollection {}
protected

Input collection.

Definition at line 96 of file IsolatedLeptonFinderProcessor.h.

float IsolatedLeptonFinderProcessor::_isoMaxConeEnergy = 0
protected

Definition at line 148 of file IsolatedLeptonFinderProcessor.h.

float IsolatedLeptonFinderProcessor::_isoMaxTrackEnergy = 0
protected

Definition at line 146 of file IsolatedLeptonFinderProcessor.h.

float IsolatedLeptonFinderProcessor::_isoMinConeEnergy = 0
protected

Definition at line 147 of file IsolatedLeptonFinderProcessor.h.

float IsolatedLeptonFinderProcessor::_isoMinTrackEnergy = 0
protected

Definition at line 145 of file IsolatedLeptonFinderProcessor.h.

float IsolatedLeptonFinderProcessor::_isoPolynomialA = 0
protected

Definition at line 152 of file IsolatedLeptonFinderProcessor.h.

float IsolatedLeptonFinderProcessor::_isoPolynomialB = 0
protected

Definition at line 153 of file IsolatedLeptonFinderProcessor.h.

float IsolatedLeptonFinderProcessor::_isoPolynomialC = 0
protected

Definition at line 154 of file IsolatedLeptonFinderProcessor.h.

std::string IsolatedLeptonFinderProcessor::_jetCollectionName {}
protected

Definition at line 158 of file IsolatedLeptonFinderProcessor.h.

float IsolatedLeptonFinderProcessor::_jetIsoVetoMaxXt = 0
protected

Definition at line 161 of file IsolatedLeptonFinderProcessor.h.

float IsolatedLeptonFinderProcessor::_jetIsoVetoMaxZ = 0
protected

Definition at line 163 of file IsolatedLeptonFinderProcessor.h.

float IsolatedLeptonFinderProcessor::_jetIsoVetoMinXt = 0
protected

Definition at line 160 of file IsolatedLeptonFinderProcessor.h.

float IsolatedLeptonFinderProcessor::_jetIsoVetoMinZ = 0
protected

Definition at line 162 of file IsolatedLeptonFinderProcessor.h.

float IsolatedLeptonFinderProcessor::_maxD0 = 0
protected

Definition at line 128 of file IsolatedLeptonFinderProcessor.h.

float IsolatedLeptonFinderProcessor::_maxD0Sig = 0
protected

Definition at line 137 of file IsolatedLeptonFinderProcessor.h.

float IsolatedLeptonFinderProcessor::_maxR0 = 0
protected

Definition at line 132 of file IsolatedLeptonFinderProcessor.h.

float IsolatedLeptonFinderProcessor::_maxR0Sig = 0
protected

Definition at line 141 of file IsolatedLeptonFinderProcessor.h.

float IsolatedLeptonFinderProcessor::_maxZ0 = 0
protected

Definition at line 130 of file IsolatedLeptonFinderProcessor.h.

float IsolatedLeptonFinderProcessor::_maxZ0Sig = 0
protected

Definition at line 139 of file IsolatedLeptonFinderProcessor.h.

bool IsolatedLeptonFinderProcessor::_mergeCloseElectrons = false
protected

Definition at line 168 of file IsolatedLeptonFinderProcessor.h.

float IsolatedLeptonFinderProcessor::_mergeLeptonConeAngle = 0
protected

Definition at line 170 of file IsolatedLeptonFinderProcessor.h.

float IsolatedLeptonFinderProcessor::_minD0 = 0
protected

Definition at line 127 of file IsolatedLeptonFinderProcessor.h.

float IsolatedLeptonFinderProcessor::_minD0Sig = 0
protected

Definition at line 136 of file IsolatedLeptonFinderProcessor.h.

float IsolatedLeptonFinderProcessor::_minR0 = 0
protected

Definition at line 131 of file IsolatedLeptonFinderProcessor.h.

float IsolatedLeptonFinderProcessor::_minR0Sig = 0
protected

Definition at line 140 of file IsolatedLeptonFinderProcessor.h.

float IsolatedLeptonFinderProcessor::_minZ0 = 0
protected

Definition at line 129 of file IsolatedLeptonFinderProcessor.h.

float IsolatedLeptonFinderProcessor::_minZ0Sig = 0
protected

Definition at line 138 of file IsolatedLeptonFinderProcessor.h.

float IsolatedLeptonFinderProcessor::_muonMaxEcalToHcalFraction = 0
protected

Definition at line 123 of file IsolatedLeptonFinderProcessor.h.

float IsolatedLeptonFinderProcessor::_muonMaxEnergyDepositByMomentum = 0
protected

Definition at line 121 of file IsolatedLeptonFinderProcessor.h.

float IsolatedLeptonFinderProcessor::_muonMinEcalToHcalFraction = 0
protected

Definition at line 122 of file IsolatedLeptonFinderProcessor.h.

float IsolatedLeptonFinderProcessor::_muonMinEnergyDepositByMomentum = 0
protected

Definition at line 120 of file IsolatedLeptonFinderProcessor.h.

std::string IsolatedLeptonFinderProcessor::_outputDressedIsoLepCollection {}
protected

Output collection of dressed isolated leptons.

Definition at line 108 of file IsolatedLeptonFinderProcessor.h.

std::string IsolatedLeptonFinderProcessor::_outputIsoLepCollection {}
protected

Output collection of isolated leptons.

Definition at line 102 of file IsolatedLeptonFinderProcessor.h.

std::string IsolatedLeptonFinderProcessor::_outputPFOsRemovedDressedIsoLepCollection {}
protected

Output collection (all input with dressed isolated leptons removed)

Definition at line 105 of file IsolatedLeptonFinderProcessor.h.

std::string IsolatedLeptonFinderProcessor::_outputPFOsRemovedIsoLepCollection {}
protected

Output collection (all input with isolated leptons removed)

Definition at line 99 of file IsolatedLeptonFinderProcessor.h.

LCCollection* IsolatedLeptonFinderProcessor::_pfoCol =nullptr
protected

Definition at line 110 of file IsolatedLeptonFinderProcessor.h.

std::map<ReconstructedParticle*,ReconstructedParticle*> IsolatedLeptonFinderProcessor::_rpJetMap {}
protected

Definition at line 159 of file IsolatedLeptonFinderProcessor.h.

bool IsolatedLeptonFinderProcessor::_useDressedLeptons = false
protected

If set to true, uses lepton dressing.

Definition at line 167 of file IsolatedLeptonFinderProcessor.h.

bool IsolatedLeptonFinderProcessor::_useImpactParameter = false
protected

If set to true, uses impact parameter cuts.

Definition at line 126 of file IsolatedLeptonFinderProcessor.h.

bool IsolatedLeptonFinderProcessor::_useImpactParameterSignificance = false
protected

If set to true, uses impact parameter significance cuts.

Definition at line 135 of file IsolatedLeptonFinderProcessor.h.

bool IsolatedLeptonFinderProcessor::_useJetIsolation = false
protected

If set to true, uses jet-based isolation (LAL algorithm)

Definition at line 157 of file IsolatedLeptonFinderProcessor.h.

bool IsolatedLeptonFinderProcessor::_usePandoraIDs = false
protected

If set to true, uses Pandora particle IDs.

Definition at line 173 of file IsolatedLeptonFinderProcessor.h.

bool IsolatedLeptonFinderProcessor::_usePID = false
protected

If set to true, uses PID cuts.

Definition at line 115 of file IsolatedLeptonFinderProcessor.h.

bool IsolatedLeptonFinderProcessor::_usePolynomialIsolation = false
protected

If set to true, uses polynomial cuts for isolation.

Definition at line 151 of file IsolatedLeptonFinderProcessor.h.

bool IsolatedLeptonFinderProcessor::_useRectangularIsolation = false
protected

If set to true, uses rectangular cuts for isolation.

Definition at line 144 of file IsolatedLeptonFinderProcessor.h.

std::vector<ReconstructedParticle*> IsolatedLeptonFinderProcessor::_workingList = {}
protected

Definition at line 112 of file IsolatedLeptonFinderProcessor.h.


The documentation for this class was generated from the following files: