#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 42 of file TagNProbe.cxx.
43 const double muonMass = 0.10565;
44 const double electronMass = 0.000510;
45 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 70 of file TagNProbe.cxx.
72 if ( tom_tag!=0 && tom_tag->
status() && tom_probe!=0 && tom_probe->
status() ) {
76 else if ( tom_tag!=0 && tom_tag->
status() ) {
80 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:
bool selection(const TIDA::Roi &troi, const TIDA::Roi &proi, const TrackSelector *selector, TrackFilter *filter, T *hmass, T *hmass_obj, TrigObjectMatcher *tom=0) const
std::vector< TIDA::Roi * > GetRois(std::vector< TIDA::Chain > &chains, const TrackSelector *selector, TrackFilter *filter, T *hmass, T *hmass_obj, TrigObjectMatcher *tom=0) const