![Logo](../../ATLAS-Logo-Square-Blue-RGB.png) |
ATLAS Offline Software
|
Go to the documentation of this file.
11 #ifndef ANALYSISUTILS_MOMENTUMFILTER_H
12 #define ANALYSISUTILS_MOMENTUMFILTER_H
23 #include "GaudiKernel/MsgStream.h"
129 double ptMin()
const;
133 double ptMax()
const;
217 const double min,
const double max );
291 m_pxRange( rhs.m_pxRange ),
292 m_pyRange( rhs.m_pyRange ),
293 m_pzRange( rhs.m_pzRange ),
294 m_eneRange(rhs.m_eneRange ),
295 m_etaRange(rhs.m_etaRange ),
296 m_phiRange(rhs.m_phiRange ),
297 m_massRange(rhs.m_massRange ),
298 m_ptRange( rhs.m_ptRange )
308 if (
this != &rhs ) {
332 if ( m_pxRange.isActive() ) {
335 if ( m_pyRange.isActive() ) {
338 if ( m_pzRange.isActive() ) {
341 if ( m_eneRange.isActive() ) {
344 if ( m_etaRange.isActive() ) {
347 if ( m_phiRange.isActive() ) {
350 if ( m_massRange.isActive() ) {
353 if ( m_ptRange.isActive() ) {
363 return m_pxRange.lower();
369 return m_pxRange.upper();
375 return m_pyRange.lower();
381 return m_pyRange.upper();
387 return m_pzRange.lower();
393 return m_pzRange.upper();
399 return m_eneRange.lower();
405 return m_eneRange.upper();
411 return m_etaRange.lower();
417 return m_etaRange.upper();
423 return m_phiRange.lower();
429 return m_phiRange.upper();
435 return m_massRange.lower();
441 return m_massRange.upper();
447 return m_ptRange.lower();
453 return m_ptRange.upper();
459 return m_phiRange.atlasPhi(
phi );
474 operator=(*momFilter);
478 <<
"Can't dynamic_cast " <<
typeid(
filter).
name()
479 <<
" to a MomentumFilter"
485 <<
"Can't dynamic_cast " <<
filter <<
" to a MomentumFilter"
494 m_pxRange.setMin(pxMin);
500 m_pxRange.setMax(pxMax);
506 m_pyRange.setMin(pyMin);
512 m_pyRange.setMax(pyMax);
518 m_pzRange.setMin(pzMin);
524 m_pzRange.setMax(pzMax);
530 m_eneRange.setMin(eneMin);
536 m_eneRange.setMax(eneMax);
542 m_etaRange.setMin(
etaMin);
548 m_etaRange.setMax(
etaMax);
555 m_phiRange.setMin(phiMin);
562 m_phiRange.setMax(phiMax);
568 m_massRange.setMin(massMin);
574 m_massRange.setMax(massMax);
580 m_ptRange.setMin(
ptMin);
586 m_ptRange.setMax(ptMax);
591 const double min,
const double max )
593 if (
name ==
"px" ) { m_pxRange .setRange(
min,
max );
594 }
else if (
name ==
"py" ) { m_pyRange .setRange(
min,
max );
595 }
else if (
name ==
"pz" ) { m_pzRange .setRange(
min,
max );
596 }
else if (
name ==
"ene" ) { m_eneRange .setRange(
min,
max );
597 }
else if (
name ==
"eta" ) { m_etaRange .setRange(
min,
max );
598 }
else if (
name ==
"phi" ) { m_phiRange .setRange(
min,
max );
599 }
else if (
name ==
"mass" ) { m_massRange .setRange(
min,
max );
600 }
else if (
name ==
"pt" ) { m_ptRange .setRange(
min,
max );
602 const std::string
error =
"Range of name <"+
name+
"> is UNKNOWN !!";
603 throw std::invalid_argument(
error);
609 #endif //> ANALYSISUTILS_MOMENTUMFILTER_H
MomentumFilter()
Default constructor:
FilterRange m_pyRange
The range in py required by the filter.
double massMax() const
Returns the maximum mass required by the filter.
void setMassMax(const double massMax)
Sets the maximum mass required by the filter.
double pxMax() const
Returns the maximum px required by the filter.
Scalar phi() const
phi method
singleton-like access to IMessageSvc via open function and helper
void setPhiMin(const double phiMin)
Sets the minimum phi required by the filter.
void setPxMax(const double pxMax)
Sets the maximum px required by the filter.
MomentumFilter< T > & operator=(const MomentumFilter< T > &rhs)
Assignment operator:
double ptMax() const
Returns the maximum pt required by the filter.
FilterRange m_massRange
The range in mass required by the filter.
double etaMin() const
Returns the minimum eta required by the filter.
void setEtaMin(const double etaMin)
Sets the minimum eta required by the filter.
FilterRange implements the range (ie: [min, max]) the filters will use to take their filtering decisi...
double pyMax() const
Returns the maximum py required by the filter.
IFilter is the main interface to the filters.
PhiFilterRange implements the range (ie: [min, max]) the filters will use to take their filtering dec...
double phiMin() const
Returns the minimum phi required by the filter.
IMessageSvc * getMessageSvc(bool quiet=false)
IFilter< T > & operator=(const IFilter< T > &rhs)
Assignment operator:
void setPyMax(const double pyMax)
Sets the maximum py required by the filter.
MomentumFilter can filter objects upon their four-momentum properties.
void setPhiMax(const double phiMax)
Sets the maximum phi required by the filter.
void setEneMax(const double eneMax)
Sets the maximum energy required by the filter.
void setEneMin(const double eneMin)
Sets the minimum energy required by the filter.
double atlasPhi(const double phi) const
Convert a phi angle in the ATLAS conventional range -PI->PI inspired from FourMom package (could also...
PhiFilterRange m_phiRange
The range in phi required by the filter.
FilterRange m_ptRange
The range in pt required by the filter.
bool isAccepted(int matchInfo)
void setPtMin(const double ptMin)
Sets the minimum pt required by the filter.
FilterRange m_pxRange
The range in px required by the filter.
double pzMin() const
Returns the minimum pz required by the filter.
void setPyMin(const double pyMin)
Sets the minimum py required by the filter.
void setFilter(const IFilterCuts *filter)
Copies the IFilterCuts properties of the given object to the current IFilterCuts object (ie: it copie...
FilterRange m_pzRange
The range in pz required by the filter.
virtual bool isAccepted(const T *element) const
Main filter method.
void setPxMin(const double pxMin)
Sets the minimum px required by the filter.
double eneMax() const
Returns the maximum energy required by the filter.
void setPzMax(const double pzMax)
Sets the maximum pz required by the filter.
double phiMax() const
Returns the maximum phi required by the filter.
double massMin() const
Returns the minimum mass required by the filter.
FilterRange m_etaRange
The range in eta required by the filter.
double etaMax() const
Returns the maximum eta required by the filter.
void setRange(const std::string &name, const double min, const double max)
Set range for a given momentum component (by name)
FilterRange m_eneRange
The range in energy required by the filter.
void setPtMax(const double ptMax)
Sets the maximum pt required by the filter.
double ptMin() const
Returns the minimum pt required by the filter.
IFilterCuts & operator=(const IFilterCuts &rhs)
Assignment operator:
virtual ~MomentumFilter()
Destructor:
void setEtaMax(const double etaMax)
Sets the maximum eta required by the filter.
IFilterCuts is a class which is used internally by the filters to copy their cut properties one to ...
double pzMax() const
Returns the maximum pz required by the filter.
void setPzMin(const double pzMin)
Sets the minimum pz required by the filter.
void setMassMin(const double massMin)
Sets the minimum mass required by the filter.
double pxMin() const
Returns the minimum px required by the filter.
double pyMin() const
Returns the minimum py required by the filter.
double eneMin() const
Returns the minimum energy required by the filter.