ATLAS Offline Software
Loading...
Searching...
No Matches
TrackAnalysisSequence.h
Go to the documentation of this file.
1/* emacs: this is -*- c++ -*- */
10
11
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
23using namespace TIDA;
24
29
30// class TrackSelector;
31// class TrackAssociator;
32// class TrackAnalysis;
33// class TrackFilter;
34
35
37
38public:
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,
43 TrackSelector* selector,
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,
72 TrackSelector* selector,
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,
90 TrackSelector* selector,
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,
107 TrackSelector* selector,
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
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
149private:
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
174
175};
176
177inline 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
std::ostream & operator<<(std::ostream &s, const TrackAnalysisSequence &)
TIDA::Associator< TIDA::Track > TrackAssociator
base class for a single track selection filter allowing parameter setting for complex track selection
void setTestSelector(TrackSelector *selector)
const std::string & keyRef() const
const std::string & name() const
TrackAssociator * getAssociator()
void setAnalysis(TrackAnalysis *analysis)
const std::string & chainRefName() const
void setRefSelector(TrackSelector *selector)
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)
TrackAnalysisSequence(const std::string &_chain, const std::string &_key, TrackSelector *selector, TrackSelector *refselector, TrackAssociator *matcher, TrackAnalysis *analysis, bool seeded=true)
TrackSelector * getRefSelector()
const std::string & key() const
void setAssociator(TrackAssociator *matcher)
const std::string & chainName() const
TrackAnalysisSequence(const std::string &_name, const std::string &_chain, const std::string &_key, TrackSelector *selector, TrackSelector *refselector, TrackAssociator *matcher, TrackAnalysis *analysis, bool seeded=true)
TrackSelector * getTestSelector()
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)
Test for xAOD.