![Logo](../../ATLAS-Logo-Square-Blue-RGB.png) |
ATLAS Offline Software
|
Go to the documentation of this file.
93 return StatusCode::SUCCESS;
100 return StatusCode::SUCCESS;
118 const std::vector<const xAOD::TrackParticle*>& trkList,
133 for(
const auto&
obj : trkList) {
136 if(testtrk==trk)
continue;
141 else {
ATH_MSG_WARNING(
"METTrackFilterTool::isGoodEoveP given an object of type " <<
obj->type());}
145 for(
const auto *
const clus : *
clusters) {
156 std::vector<Iso::IsolationType> trkIsoCones;
168 std::vector<Iso::IsolationType> caloIsoCones_coreCone;
174 caloIsoCones_coreCone,
175 caloIsoCorr_coreCone);
186 if(Rerr>0.4)
return false;
187 else if (
EoverP<0.65 && ((
EoverP>0.1 && Rerr>0.05) || Rerr>0.1))
return false;
191 if(
etcone10/trkptsum<0.6 && trk->
pt()/trkptsum>0.6)
return false;
203 std::vector<const xAOD::Electron*> selElectrons;
204 std::vector<const xAOD::Muon*> selMuons;
211 return StatusCode::SUCCESS;
218 return StatusCode::SUCCESS;
226 if(iter==metMap->
end()) {
228 return StatusCode::FAILURE;
240 if(citer==metMap->
end()) {
242 return StatusCode::FAILURE;
244 vector<const TrackParticle*> softTracks;
245 softTracks.reserve((*citer)->size());
246 for(
const auto&
obj : (*citer)->objects()) {
248 if(trk) {softTracks.push_back(trk);}
257 vector<const Vertex*> vertices;
260 if(!vxCont->
empty()) {
261 vertices.reserve(vxCont->
size());
262 for(
const auto *
const vx : *vxCont) {
264 vertices.push_back(vx);
268 return StatusCode::FAILURE;
272 ATH_MSG_DEBUG(
"Did not find a primary vertex in the container. Reject all tracks.");
273 return StatusCode::SUCCESS;
285 for(
const auto *
const vx : *vxCont){
297 ATH_MSG_VERBOSE(
"Number of tracks associated to vertex " << vx->index() <<
": "<< (trktovxmap[vx]).size());
307 return StatusCode::SUCCESS;
313 const std::vector<const xAOD::Electron*>& selElectrons,
314 const std::vector<const xAOD::Muon*>& selMuons,
315 const std::vector<const xAOD::TrackParticle*>& softTracks)
const {
317 vector<const IParticle*> dummyList;
323 return StatusCode::FAILURE;
326 for(
const auto& trk : softTracks ) {
328 bool passFilters =
true;
356 metTerm->
add(
el->pt()*
cos(trk->phi()),
357 el->pt()*
sin(trk->phi()),
361 metTerm->
add(trk->pt()*
cos(trk->phi()),trk->pt()*
sin(trk->phi()),trk->pt());
367 return StatusCode::SUCCESS;
372 for(
unsigned int eli=0; eli<
electrons.size(); ++eli) {
384 for(
const auto *
muon : muons) {
386 if((
muon->trackParticle(xAOD::Muon::InnerDetectorTrackParticle))==&trk) {
395 for(
const auto *
el : elCont) {
398 && fabs(
el->eta())<2.47
400 if((fabs((
el)->
eta())<=1.37) || (fabs((
el)->
eta())>=1.52) ) {
411 for(
const auto *
mu : muCont) {
414 && fabs(
mu->eta())<2.5
virtual double pt() const override final
The transverse momentum ( ) of the particle.
Const iterator class for DataVector/DataList.
@ coreEnergy
energy stored for this correction
@ Nominal
Primary vertex is nominal vertex.
const_pointer_type cptr()
Dereference the pointer.
float sumet() const
Returns.
Scalar eta() const
pseudorapidity method
DataVector adapter that acts like it holds const pointers.
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
virtual double eta() const override final
The pseudorapidity ( ) of the particle.
@ coreTrackPtr
tracks pointer
static MissingETComponentMap::const_iterator find(const MissingETComponentMap *pMap, const MissingET *pmetObj)
Find non-modifiable contribution for a given MET object.
Iso::IsolationTrackCorrectionBitset trackbitset
static Types::bitmask_t track(Region reg=Region::FullAcceptance)
Bit mask for MET term from Track signal objects.
@ ptcone20
Track isolation.
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
std::map< const xAOD::Vertex *, xAOD::TrackVertexAssociationList > TrackVertexAssociationMap
#define ATH_MSG_VERBOSE(x)
const std::string & key() const
Return the StoreGate ID for the referenced object.
uint64_t bitmask_t
Type for status word bit mask.
void setSource(MissingETBase::Types::bitmask_t src)
Set the source of the MET object.
static Types::bitmask_t idTrack(Region reg=Region::FullAcceptance)
Bit pattern indicating a ID Track MET term.
@ SoftEvent
Indicator for the MET term from reconstructed soft event signals (tracks, clusters) or MC truth parti...
bool setStatusWord(MissingETBase::Types::bitmask_t sw=MissingETBase::Status::clearedStatus())
Set the statusword of a MET term.
TrackParticle_v1 TrackParticle
Reference the current persistent version:
void setName(const std::string &name)
Set the name of the MET object.
static const MissingETComponent * getComponent(const MissingETComponentMap *pMap, const IParticle *pPart)
Access non-modifiable contribution object.
static bool insert(MissingETComponentMap *pMap, const MissingET *pMET, const IParticle *pPart, MissingETBase::Types::weight_t weight=MissingETBase::Types::weight_t())
Insert contributing signal or physics object by pointer, with optional kinematic weight object.
@ PileupTrack
Reconstructed track based pile-up correction.
(Non-const) Iterator class for DataVector/DataList.
@ etcone20
Calorimeter isolation.
::StatusCode StatusCode
StatusCode definition for legacy code.
std::map< Iso::IsolationCaloCorrection, std::map< Iso::IsolationCorrectionParameter, float > > coreCorrections
bool isElectron(const xAOD::Egamma *eg)
is the object an electron (not Fwd)
Principal data object for Missing ET.
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
const std::string & name() const
Identifier getters.
Athena::TPCnvVers::Old Athena::TPCnvVers::Old MissingET
virtual bool isValid() override final
Can the handle be successfully dereferenced?
void add(const IParticle *particle)
Add particle kinematics to MET.
Container for xAOD::MissingET_v1 objects.
float qOverP() const
Returns the parameter.
const ParametersCovMatrix_t definingParametersCovMatrix() const
Returns the 5x5 symmetric matrix containing the defining parameters covariance matrix.
std::string to_string(const DetectorType &type)
double error(const Amg::MatrixX &mat, int index)
return diagonal error of the matrix caller should ensure the matrix is symmetric and the index is in ...
std::vector< float > etcones
@ coreCone
core energy (in dR<0.1).
value_type push_back(value_type pElem)
Add an element to the end of the collection.
static bool add(MissingETComponentMap *pMap, const MissingET *pMET, MissingETBase::Types::bitmask_t sw=MissingETBase::Status::clearedStatus())
Adding a MissingET object to the map.
const xAOD::TrackParticle * getOriginalTrackParticleFromGSF(const xAOD::TrackParticle *trkPar)
Helper function for getting the "Original" Track Particle (i.e before GSF) via the GSF Track Particle...
MissingETBase::Types::bitmask_t source() const
MET object source tag.
std::vector< float > ptcones
const_iterator end() const noexcept
Return a const_iterator pointing past the end of the collection.
Class describing a Vertex.
#define ATH_MSG_WARNING(x)
bool isLepton(const T &p)
APID: the fourth generation leptons are leptons.
Kinematic weight descriptor.
Class describing a TrackParticle.
const SG::AuxVectorData * container() const
Return the container holding this element.
bool isInDeltaR(const xAOD::IParticle &p1, const xAOD::IParticle &p2, double dR, bool useRapidity=true)
Check if 2 xAOD::IParticle are in a cone.
static Types::bitmask_t softEvent(Region reg=Region::FullAcceptance)
Standard MET term from reconstructed soft event.
size_type size() const noexcept
Returns the number of elements in the collection.
bool empty() const noexcept
Returns true if the collection is empty.
Iso::IsolationCaloCorrectionBitset calobitset
MET component descriptor contains object links and corresponding parameters.