ATLAS Offline Software
TrackAnalysisSequence.h
Go to the documentation of this file.
1 /* emacs: this is -*- c++ -*- */
12 #ifndef TIDA_TRACKANALYSISSEQUENCE_H
13 #define TIDA_TRACKANALYSISSEQUENCE_H
14 
15 #include <iostream>
16 #include <string>
17 #include <vector>
18 #include <map>
19 
20 // #include "GaudiKernel/IToolSvc.h"
21 // #include "TrigDecisionTool/TrigDecisionTool.h"
22 
23 using namespace TIDA;
24 
29 
30 // class TrackSelector;
31 // class TrackAssociator;
32 // class TrackAnalysis;
33 // class TrackFilter;
34 
35 
37 
38 public:
39 
40  TrackAnalysisSequence(const std::string& _name,
41  const std::string& _chain, const std::string& _key,
42  const std::string& _refchain, const std::string& _refkey,
44  TrackFilter* filter,
45  TrackSelector* refselector,
46  TrackFilter* reffilter,
47  TrackAssociator* matcher,
48  TrackAnalysis* analysis,
49  bool seeded=true )
50  : m_name(_name),
51  m_chainName(_chain), m_key(_key),
52  m_chainRefName(_refchain), m_keyRef(_refkey),
53  m_testSelector(selector), m_testFilter(filter),
54  m_refSelector(refselector), m_refFilter(reffilter),
55  m_matcher(matcher),
56  m_analysis(analysis),
57  m_seeded(seeded)
58  {
59  // std::map<std::string, TrackAnalysisSequence*>::iterator mitr = m_map.find(m_name);
60  // if ( mitr!=m_map.end() ) {
61  // // do we want to forbid this?
62  // std::cerr << "analysisBuilder() analysis " << name << " already exists" << std::endl;
63  // // return NULL;
64  // m_map.insert( std::map<std::string, TrackAnalysisSequence*>::value_type( m_name, this ) );
65  // }
66  }
67 
68 
69  TrackAnalysisSequence(const std::string& _name,
70  const std::string& _chain, const std::string& _key,
71  const std::string& _refchain, const std::string& _refkey,
73  TrackSelector* refselector,
74  TrackAssociator* matcher,
75  TrackAnalysis* analysis,
76  bool seeded=true )
77  : m_name(_name),
78  m_chainName(_chain), m_key(_key),
79  m_chainRefName(_refchain), m_keyRef(_refkey),
80  m_testSelector(selector), m_testFilter(NULL),
81  m_refSelector(refselector), m_refFilter(NULL),
82  m_matcher(matcher),
83  m_analysis(analysis),
84  m_seeded(seeded)
85  { }
86 
87 
88  TrackAnalysisSequence(const std::string& _name,
89  const std::string& _chain, const std::string& _key,
91  TrackSelector* refselector,
92  TrackAssociator* matcher,
93  TrackAnalysis* analysis,
94  bool seeded=true )
95  : m_name(_name),
96  m_chainName(_chain), m_key(_key),
97  m_chainRefName(_chain), m_keyRef(_key),
98  m_testSelector(selector), m_testFilter(NULL),
99  m_refSelector(refselector), m_refFilter(NULL),
100  m_matcher(matcher),
101  m_analysis(analysis),
102  m_seeded(seeded)
103  { }
104 
105 
106  TrackAnalysisSequence(const std::string& _chain, const std::string& _key,
108  TrackSelector* refselector,
109  TrackAssociator* matcher,
110  TrackAnalysis* analysis,
111  bool seeded=true )
112  : m_name(_chain),
113  m_chainName(_chain), m_key(_key),
114  m_chainRefName(_chain), m_keyRef(_key),
115  m_testSelector(selector), m_testFilter(NULL),
116  m_refSelector(refselector), m_refFilter(NULL),
117  m_matcher(matcher),
118  m_analysis(analysis),
119  m_seeded(seeded)
120  { }
121 
122 
124 
125  const std::string& name() const { return m_name; }
126 
127  const std::string& chainName() const { return m_chainName; }
128  const std::string& chainRefName() const { return m_chainRefName; }
129 
130  const std::string& key() const { return m_key; }
131  const std::string& keyRef() const { return m_keyRef; }
132 
133  void setSeeded(bool b) { m_seeded=b; }
134  bool isSeeded() const { return m_seeded; }
135 
136 
137  TrackSelector* getTestSelector() { return m_testSelector; }
138  TrackSelector* getRefSelector() { return m_refSelector; }
139  TrackAssociator* getAssociator() { return m_matcher; }
140  TrackAnalysis* getAnalysis() { return m_analysis; }
141 
142 
143  void setTestSelector( TrackSelector* selector) { m_testSelector = selector; }
144  void setRefSelector( TrackSelector* selector) { m_refSelector = selector; }
145  void setAssociator( TrackAssociator* matcher) { m_matcher = matcher; }
146  void setAnalysis( TrackAnalysis* analysis) { m_analysis = analysis; }
147 
148 
149 private:
150 
151  std::string m_name;
152 
153  std::string m_chainName;
154  std::string m_key;
155 
156  std::string m_chainRefName;
157  std::string m_keyRef;
158 
159 
161  TrackFilter* m_testFilter;
162 
164  TrackFilter* m_refFilter;
165 
167 
168  // std::vector<TrackAnalysis*> m_analysis;
170 
171  // static std::map<std::string, TrackAnalysisSequence*> m_map;
172 
173  bool m_seeded;
174 
175 };
176 
177 inline std::ostream& operator<<( std::ostream& s, const TrackAnalysisSequence& /* _t */ ) {
178  return s;
179 }
180 
181 
182 #endif // TIDA_TRACKANALYSISSEQUENCE_H
183 
184 
185 
186 
187 
188 
189 
190 
191 
192 
TIDA::Associator
Definition: TIDAAssociator.h:24
TIDA
Test for xAOD.
Definition: Filter_AcceptAll.h:22
python.SystemOfUnits.s
int s
Definition: SystemOfUnits.py:131
TIDA::operator<<
std::ostream & operator<<(std::ostream &s, const Reference &r)
Definition: TIDAReference.h:83
TrackAnalysisSequence::keyRef
const std::string & keyRef() const
Definition: TrackAnalysisSequence.h:131
TrackAnalysisSequence::m_keyRef
std::string m_keyRef
Definition: TrackAnalysisSequence.h:157
TrackAnalysisSequence::m_testFilter
TrackFilter * m_testFilter
Definition: TrackAnalysisSequence.h:161
TrackAnalysisSequence::m_chainRefName
std::string m_chainRefName
Definition: TrackAnalysisSequence.h:156
TrackAnalysisSequence::isSeeded
bool isSeeded() const
Definition: TrackAnalysisSequence.h:134
TrackAnalysisSequence::getRefSelector
TrackSelector * getRefSelector()
Definition: TrackAnalysisSequence.h:138
TrackAnalysis.h
TrackFilter.h
base class for a single track selection filter allowing parameter setting for complex track selection
TrackAnalysisSequence::TrackAnalysisSequence
TrackAnalysisSequence(const std::string &_chain, const std::string &_key, TrackSelector *selector, TrackSelector *refselector, TrackAssociator *matcher, TrackAnalysis *analysis, bool seeded=true)
Definition: TrackAnalysisSequence.h:106
TrackAnalysisSequence::m_analysis
TrackAnalysis * m_analysis
Definition: TrackAnalysisSequence.h:169
TrackAnalysisSequence::TrackAnalysisSequence
TrackAnalysisSequence(const std::string &_name, const std::string &_chain, const std::string &_key, const std::string &_refchain, const std::string &_refkey, TrackSelector *selector, TrackSelector *refselector, TrackAssociator *matcher, TrackAnalysis *analysis, bool seeded=true)
Definition: TrackAnalysisSequence.h:69
TrackAnalysisSequence::key
const std::string & key() const
Definition: TrackAnalysisSequence.h:130
TrackAnalysisSequence::m_refFilter
TrackFilter * m_refFilter
Definition: TrackAnalysisSequence.h:164
TrackAnalysisSequence::m_name
std::string m_name
Definition: TrackAnalysisSequence.h:151
TrackAnalysisSequence::m_chainName
std::string m_chainName
Definition: TrackAnalysisSequence.h:153
TrackAnalysisSequence::getTestSelector
TrackSelector * getTestSelector()
Definition: TrackAnalysisSequence.h:137
TrackSelector
Definition: Trigger/TrigAnalysis/TrigInDetAnalysis/TrigInDetAnalysis/TrackSelector.h:24
TrackAnalysisSequence::m_testSelector
TrackSelector * m_testSelector
Definition: TrackAnalysisSequence.h:160
covarianceTool.filter
filter
Definition: covarianceTool.py:514
TrackAnalysisSequence
Definition: TrackAnalysisSequence.h:36
TrackAnalysisSequence::setRefSelector
void setRefSelector(TrackSelector *selector)
Definition: TrackAnalysisSequence.h:144
TrackAnalysisSequence::setAssociator
void setAssociator(TrackAssociator *matcher)
Definition: TrackAnalysisSequence.h:145
TrackAnalysisSequence::getAssociator
TrackAssociator * getAssociator()
Definition: TrackAnalysisSequence.h:139
TrackAnalysisSequence::chainName
const std::string & chainName() const
Definition: TrackAnalysisSequence.h:127
TrackAnalysisSequence::getAnalysis
TrackAnalysis * getAnalysis()
Definition: TrackAnalysisSequence.h:140
TrackSelector.h
TrackAnalysis
Definition: TrackAnalysis.h:32
TrackAnalysisSequence::m_matcher
TrackAssociator * m_matcher
Definition: TrackAnalysisSequence.h:166
TrackAssociator.h
TrackAnalysisSequence::chainRefName
const std::string & chainRefName() const
Definition: TrackAnalysisSequence.h:128
TrackAnalysisSequence::setSeeded
void setSeeded(bool b)
Definition: TrackAnalysisSequence.h:133
TrackAnalysisSequence::TrackAnalysisSequence
TrackAnalysisSequence(const std::string &_name, const std::string &_chain, const std::string &_key, TrackSelector *selector, TrackSelector *refselector, TrackAssociator *matcher, TrackAnalysis *analysis, bool seeded=true)
Definition: TrackAnalysisSequence.h:88
plotBeamSpotMon.b
b
Definition: plotBeamSpotMon.py:77
TrackAnalysisSequence::m_seeded
bool m_seeded
Definition: TrackAnalysisSequence.h:173
python.selector.AtlRunQuerySelectorLhcOlc.selector
selector
Definition: AtlRunQuerySelectorLhcOlc.py:611
TrackAnalysisSequence::setAnalysis
void setAnalysis(TrackAnalysis *analysis)
Definition: TrackAnalysisSequence.h:146
TrackAnalysisSequence::TrackAnalysisSequence
TrackAnalysisSequence(const std::string &_name, const std::string &_chain, const std::string &_key, const std::string &_refchain, const std::string &_refkey, TrackSelector *selector, TrackFilter *filter, TrackSelector *refselector, TrackFilter *reffilter, TrackAssociator *matcher, TrackAnalysis *analysis, bool seeded=true)
Definition: TrackAnalysisSequence.h:40
TrackAnalysisSequence::name
const std::string & name() const
Definition: TrackAnalysisSequence.h:125
TrackAnalysisSequence::m_key
std::string m_key
Definition: TrackAnalysisSequence.h:154
TrackAnalysisSequence::m_refSelector
TrackSelector * m_refSelector
Definition: TrackAnalysisSequence.h:163
TrackAnalysisSequence::setTestSelector
void setTestSelector(TrackSelector *selector)
Definition: TrackAnalysisSequence.h:143
TrackAnalysisSequence::~TrackAnalysisSequence
~TrackAnalysisSequence()
Definition: TrackAnalysisSequence.h:123