59 :
Logger(
"VP1TriggerSystem"),
60 m_trigDec(
"Trig::TrigDecisionTool/TrigDecisionTool"),
61 m_trigMatch(
"TrigMatchTool/TrigMatchTool") {
log_verbose(
"constructor");}
73 log_verbose(
"loadTriggerHandles()");
76 if(m_handleL1.size()!=0 || m_handleL2.size()!=0 || m_handleEF.size()!=0)
77 clearTriggerHandles();
80 if(triglvl.compare(
"ALL", Qt::CaseInsensitive)==0 || triglvl.compare(
"L1", Qt::CaseInsensitive)==0) {
82 log_info(
"Retrieving L1 data via TrigDecisionTool: start");
89 if(m_trigDec.retrieve().isFailure()) {
90 log_fatal(
"Could not retrieve TrigDecisionTool!");
94 if(m_trigMatch.retrieve().isFailure()) {
95 log_fatal(
"Could not retrieve TrigMatchTool!");
102 log_fatal(
"ChainGroup could not be loaded!");
111 for(trigItr=trigList.begin(); trigItr!=trigList.end(); ++trigItr) {
114 if((*trigItr).empty())
continue;
117 if(m_trigDec->isPassed((*trigItr))) {
119 trigID = std::string((*trigItr).c_str());
122 using namespace Trig;
128 m_handleL1.push_back(handleL1);
131 log_verbose(
"Retrieving L1 data: complete");
135 if(triglvl.compare(
"ALL", Qt::CaseInsensitive)==0 || triglvl.compare(
"L2", Qt::CaseInsensitive)==0) {
141 log_verbose(
"Retrieving L2 data: start");
143 const DataHandle<MuonFeatureDetailsContainer> mfdContainer;
144 const DataHandle<MuonFeatureDetailsContainer> lastmfdContainer;
147 while(runL2==
false) {
148 if(
storeGate->retrieve(mfdContainer,lastmfdContainer).isSuccess())
149 log_verbose(
"MuonFeatureDetailsContainer retrieved");
152 log_fatal(
"MuonFeatureDetailsContainer not retrieved!");
159 std::vector<const MuonFeatureDetails*> vec_muonFeatureDetails;
161 for(; mfdContainer!=lastmfdContainer; mfdContainer++) {
164 for(; mfd != lastmfd; ++mfd) {
165 if((*mfd)==0)
continue;
166 vec_muonFeatureDetails.push_back(*mfd);
171 m_handleL2.push_back(handleL2);
175 log_verbose(
"Retrieving L2 data: complete");
179 if(triglvl.compare(
"ALL", Qt::CaseInsensitive)==0 || triglvl.compare(
"EF", Qt::CaseInsensitive)==0) {
183 log_verbose(
"Retrieving EF data: start");
185 const DataHandle<TrigMuonEFInfoContainer> trigMuon;
186 const DataHandle<TrigMuonEFInfoContainer> lastTrigMuon;
187 unsigned int muonCounter=0;
189 if(
storeGate->retrieve(trigMuon,lastTrigMuon).isSuccess()) {
190 for(
int i=0; trigMuon!=lastTrigMuon; ++trigMuon, ++
i) {
194 for(
int j=0; MuonItr!=MuonItrE; ++MuonItr, ++j ) {
198 QList<QString> chainIDs;
200 for(itChain=
chains.begin(); itChain!=
chains.end(); ++itChain)
201 chainIDs << QString((*itChain).c_str());
204 m_handleEF.push_back(handleEF);
208 log_fatal(
"Could not retrieve TrigMuonEF from StoreGate!");
211 log_verbose(
"Retrieving EF data: complete");
222 log_verbose(
"Clearing trigger handles");