 |
ATLAS Offline Software
|
#include <TagNProbe.h>
|
| | TagNProbe (const std::string &refName, double massMin, double massMax, bool unique_flag=true) |
| |
| | TagNProbe (const std::string &refName0, const std::string &refName1, double massMin, double massMax, bool unique_flag=true) |
| |
| virtual | ~TagNProbe () |
| |
| void | construct () |
| |
| void | tag (const std::string &chainName) |
| | getters and setters More...
|
| |
| void | probe (const std::string &chainName) |
| |
| const std::string & | tag () const |
| |
| const std::string & | probe () const |
| |
| const std::string & | type0 () const |
| |
| const std::string & | type1 () const |
| |
| double | mass0 () const |
| |
| double | mass1 () const |
| |
| template<typename T > |
| std::vector< TIDA::Roi * > | GetRois (std::vector< TIDA::Chain > &chains, const TrackSelector *selector, TrackFilter *filter, T *hmass, T *hmass_obj, TrigObjectMatcher *tom=0) const |
| |
| template<typename T > |
| std::vector< TIDA::Roi * > | GetRois (std::vector< TIDA::Chain > &chains, const TrackSelector *selector_tag, TrackFilter *filter_tag, const TrackSelector *selector_probe, TrackFilter *filter_probe, T *hmass, T *hmass_obj, TrigObjectMatcher *tom_tag=0, TrigObjectMatcher *tom_probe=0) const |
| |
|
| double | pt (const TIDA::Track *t) const |
| |
| double | pt (const TrackTrigObject *t) const |
| |
| template<typename T1 , typename T2 > |
| double | mass (const T1 *t1, const T2 *t2) const |
| |
| template<typename T > |
| bool | selection (const TIDA::Roi &troi, const TIDA::Roi &proi, const TrackSelector *selector, TrackFilter *filter, T *hmass, T *hmass_obj, TrigObjectMatcher *tom=0) const |
| |
| template<typename T > |
| bool | selection (const TIDA::Roi &troi, const TIDA::Roi &proi, const TrackSelector *selector_tag, TrackFilter *filter_tag, const TrackSelector *selector_probe, TrackFilter *filter_probe, T *hmass, T *hmass_obj, TrigObjectMatcher *tom_tag=0, TrigObjectMatcher *tom_probe=0) const |
| |
| double | mass_obj (const TIDA::Track *t1, const TIDA::Track *t2, TrigObjectMatcher *tom=0) const |
| |
| double | mass_obj (const TIDA::Track *t1, const TIDA::Track *t2, TrigObjectMatcher *tom_tag, TrigObjectMatcher *tom_probe) const |
| |
| TIDA::Chain * | findChain (const std::string &chainname, std::vector< TIDA::Chain > &chains) const |
| |
Definition at line 28 of file TagNProbe.h.
◆ TagNProbe() [1/2]
| TagNProbe::TagNProbe |
( |
const std::string & |
refName, |
|
|
double |
massMin, |
|
|
double |
massMax, |
|
|
bool |
unique_flag = true |
|
) |
| |
◆ TagNProbe() [2/2]
| TagNProbe::TagNProbe |
( |
const std::string & |
refName0, |
|
|
const std::string & |
refName1, |
|
|
double |
massMin, |
|
|
double |
massMax, |
|
|
bool |
unique_flag = true |
|
) |
| |
◆ ~TagNProbe()
| virtual TagNProbe::~TagNProbe |
( |
| ) |
|
|
inlinevirtual |
◆ construct()
| void TagNProbe::construct |
( |
| ) |
|
Definition at line 48 of file TagNProbe.cxx.
51 #ifdef TRUTHUTILS_PARTICLECONSTANTS_H
56 const double muonMass = 0.10565;
57 const double electronMass = 0.000511;
58 const double tauMass = 1.77686;
◆ findChain()
◆ GetRois() [1/2]
◆ GetRois() [2/2]
tag and probe are the same: skip this tag
Definition at line 70 of file TagNProbe.h.
80 std::vector<TIDA::Roi*> probes;
85 if ( chain_tag==0 || chain_probe==0 )
return probes;
88 for (
size_t ip=0 ;
ip<chain_probe->
size() ;
ip++ ) {
94 bool found_tnp =
false;
97 for (
size_t it=0 ;
it<chain_tag->
size() ;
it++ ) {
103 if ( roi_probe == roi_tag )
continue;
105 if (
selection( troi, proi, selector_tag, filter_tag, selector_probe, filter_probe,
106 hmass, hmass_obj, tom_tag, tom_probe ) ) {
114 if ( found_tnp ) probes.push_back( &proi );
◆ mass()
template<typename T1 , typename T2 >
| double TagNProbe::mass |
( |
const T1 * |
t1, |
|
|
const T2 * |
t2 |
|
) |
| const |
|
inlineprotected |
◆ mass0()
| double TagNProbe::mass0 |
( |
| ) |
const |
|
inline |
◆ mass1()
| double TagNProbe::mass1 |
( |
| ) |
const |
|
inline |
◆ mass_obj() [1/2]
◆ mass_obj() [2/2]
different toms for each leg - eg if we wanted electron + tau
only tag tom ...
only probe tom ...
just tracks ...
Definition at line 84 of file TagNProbe.cxx.
86 if ( tom_tag!=0 && tom_tag->
status() && tom_probe!=0 && tom_probe->
status() ) {
90 else if ( tom_tag!=0 && tom_tag->
status() ) {
94 else if ( tom_probe!=0 && tom_probe->
status() ) {
◆ probe() [1/2]
| const std::string& TagNProbe::probe |
( |
| ) |
const |
|
inline |
◆ probe() [2/2]
| void TagNProbe::probe |
( |
const std::string & |
chainName | ) |
|
|
inline |
◆ pt() [1/2]
◆ pt() [2/2]
◆ selection() [1/2]
◆ selection() [2/2]
get reference tracks from the tag roi
get reference tracks from the probe roi
loop over tag ref tracks
loop over probe ref tracks
check compatibility of the track z and invariant mass ...
Definition at line 148 of file TagNProbe.h.
163 std::vector<TIDA::Track*> refp_tag = selector_tag->
tracks( filter_tag );
171 std::vector<TIDA::Track*> refp_probe = selector_probe->
tracks( filter_probe );
176 for (
size_t it=0;
it<refp_tag.size() ;
it++ ) {
179 for (
size_t ip=0;
ip<refp_probe.size() ;
ip++ ) {
182 double invmass =
mass( refp_tag[
it], refp_probe[
ip] );
183 double invmass_obj =
mass_obj( refp_tag[
it], refp_probe[
ip], tom_tag, tom_probe );
184 double deltaz0 = std::fabs(refp_tag[
it]->
z0() - refp_probe[
ip]->
z0() );
187 hmass->Fill( invmass );
188 hmass_obj->Fill( invmass_obj );
◆ tag() [1/2]
| const std::string& TagNProbe::tag |
( |
| ) |
const |
|
inline |
◆ tag() [2/2]
| void TagNProbe::tag |
( |
const std::string & |
chainName | ) |
|
|
inline |
getters and setters
could be moved to the constructor now ...
Definition at line 45 of file TagNProbe.h.
◆ type0()
| const std::string& TagNProbe::type0 |
( |
| ) |
const |
|
inline |
◆ type1()
| const std::string& TagNProbe::type1 |
( |
| ) |
const |
|
inline |
◆ m_mass0
| double TagNProbe::m_mass0 |
|
private |
◆ m_mass1
| double TagNProbe::m_mass1 |
|
private |
◆ m_massMax
| double TagNProbe::m_massMax |
|
private |
◆ m_massMin
| double TagNProbe::m_massMin |
|
private |
◆ m_particleType0
| std::string TagNProbe::m_particleType0 |
|
private |
◆ m_particleType1
| std::string TagNProbe::m_particleType1 |
|
private |
◆ m_probeChainName
| std::string TagNProbe::m_probeChainName |
|
private |
◆ m_tagChainName
| std::string TagNProbe::m_tagChainName |
|
private |
◆ m_unique
The documentation for this class was generated from the following files:
const TIDARoiDescriptor & roi() const
access the roi information
bool selection(const TIDA::Roi &troi, const TIDA::Roi &proi, const TrackSelector *selector, TrackFilter *filter, T *hmass, T *hmass_obj, TrigObjectMatcher *tom=0) const
constexpr double tauMassInMeV
the mass of the tau (in MeV)
const std::string & probe() const
const std::string & tag() const
constexpr double muonMassInMeV
the mass of the muon (in MeV)
std::vector< ALFA_RawDataCollection_p1 > t1
unsigned size() const
number of rois
std::string m_particleType1
Describes the Region of Ineterest geometry It has basically 8 parameters.
const std::vector< TIDA::Roi > & rois() const
get back roi vector
std::string m_particleType0
double pt(const TIDA::Track *t) const
TIDA::Chain * findChain(const std::string &chainname, std::vector< TIDA::Chain > &chains) const
std::string m_probeChainName
const std::vector< TIDA::Track * > & tracks() const
std::vector< ALFA_RawDataContainer_p1 > t2
std::vector< TIDA::Roi * > GetRois(std::vector< TIDA::Chain > &chains, const TrackSelector *selector, TrackFilter *filter, T *hmass, T *hmass_obj, TrigObjectMatcher *tom=0) const
double mass_obj(const TIDA::Track *t1, const TIDA::Track *t2, TrigObjectMatcher *tom=0) const
double mass(const T1 *t1, const T2 *t2) const
std::string m_tagChainName
const TrackTrigObject * object(unsigned long track_id)
constexpr double electronMassInMeV
the mass of the electron (in MeV)