9 #include "CLHEP/Units/SystemOfUnits.h"
13 #include "EventInfo/EventInfo.h"
23 m_typeName(
"TriggerInfo")
26 declareInterface<IDataRetriever>(
this);
39 return StatusCode::SUCCESS;
42 if (trigger_info == 0){
44 return StatusCode::SUCCESS;
48 std::string triggerInfoStrL1=
"0";
49 std::string triggerInfoStrL2=
"0";
50 std::string triggerInfoStrEF=
"0";
51 std::string triggerInfoStreamTag=
"0";
81 triggerInfoStrL1 =
"-";
90 triggerInfoStrL2 =
"-";
99 triggerInfoStrEF =
"-";
107 triggerInfoStreamTag =
"-";
111 <<
" type " << trigger_info->
streamTags()[
i].type()
112 <<
" ObeysLumi " << trigger_info->
streamTags()[
i].obeysLumiblock();
128 triggerInfoStreamTag += trigger_info->
streamTags()[
i].name() +
"_" +
130 if ( trigger_info->
streamTags()[
i].obeysLumiblock() ){
131 triggerInfoStreamTag +=
"ObeysLumi";
133 triggerInfoStreamTag +=
"notObeysLumi";
135 if ( eventInfo->
event_ID()->lumi_block() ){
136 triggerInfoStreamTag +=
"_lumiBlock";
137 triggerInfoStreamTag +=
DataType(eventInfo->
event_ID()->lumi_block()).toString();
139 triggerInfoStreamTag +=
"_lumiBlockUnknown";
141 triggerInfoStreamTag +=
"-";
149 trigInfoL1Vec.push_back(
DataType( triggerInfoStrL1 ));
150 trigInfoL2Vec.push_back(
DataType( triggerInfoStrL2 ));
151 trigInfoEFVec.push_back(
DataType( triggerInfoStrEF ));
152 trigInfoStreamTagVec.push_back(
DataType( triggerInfoStreamTag ));
164 energySumEtVec.push_back(
DataType( -1. ) );
165 energyExVec.push_back(
DataType( -1. ) );
166 energyEyVec.push_back(
DataType( -1. ) );
167 energyEtMissVec.push_back(
DataType( -1. ) );
174 for (; itES != itESe; ++itES){
178 energySumEtVec.push_back(
DataType( Et ) );
179 energyExVec.push_back(
DataType( Ex ) );
180 energyEyVec.push_back(
DataType( Ey ) );
181 float EtMiss =
static_cast<long>(sqrt(
static_cast<double>(Ex*Ex + Ey*Ey)));
182 energyEtMissVec.push_back(
DataType( EtMiss ) );
185 << Ey <<
", T:" << Et <<
", ETMiss:" << EtMiss <<
endmsg;
190 energySumEtVec.push_back(
DataType(
"-1" ) );
191 energyExVec.push_back(
DataType(
"-1" ) );
192 energyEyVec.push_back(
DataType(
"-1" ) );
193 energyEtMissVec.push_back(
DataType(
"-1" ) );
198 myDataMap[
"energySumEt"] = energySumEtVec;
199 myDataMap[
"energyEx"] = energyExVec;
200 myDataMap[
"energyEy"] = energyEyVec;
201 myDataMap[
"energyEtMiss"] = energyEtMissVec;
202 myDataMap[
"trigInfoStatus"] = trigInfoStatusVec;
203 myDataMap[
"trigInfoExtL1ID"] = trigInfoExtL1IDVec;
204 myDataMap[
"trigInfoLvl1Type"] = trigInfoLvl1TypeVec;
205 myDataMap[
"trigInfoL1"] = trigInfoL1Vec;
206 myDataMap[
"trigInfoL2"] = trigInfoL2Vec;
207 myDataMap[
"trigInfoEF"] = trigInfoEFVec;
208 myDataMap[
"trigInfoStreamTag"] = trigInfoStreamTagVec;
213 std::string emptyStr=
"";
214 return FormatTool->AddToEvent(
dataTypeName(), emptyStr, &myDataMap);