120 DataVect isTauString; isTauString.reserve(taucont->
size());
126 DataVect etHadCalib; etHadCalib.reserve(taucont->
size());
129 DataVect stripWidth; stripWidth.reserve(taucont->
size());
130 DataVect logLhRatio; logLhRatio.reserve(taucont->
size());
135 DataVect clusterKeyVec; clusterKeyVec.reserve(taucont->
size());
136 DataVect clusterIndexVec; clusterIndexVec.reserve(taucont->
size());
137 DataVect trackKeyVec; trackKeyVec.reserve(taucont->
size());
138 DataVect trackIndexVec; trackIndexVec.reserve(taucont->
size());
139 DataVect trackLinkCountVec; trackLinkCountVec.reserve(taucont->
size());
147 bool checkDataType=
true;
149 if ( taujetItr != taujetItrE) {
150 dataType = (*taujetItr)->dataType();
156 if (
msgLvl(MSG::DEBUG))
msg(MSG::DEBUG) <<
" TauJet Datatype: Full Sim " <<
endmsg;
158 if (
msgLvl(MSG::DEBUG))
msg(MSG::DEBUG) <<
" TauJet Datatype: Fast Sim " <<
endmsg;
162 unsigned int countTrackLinks = 0;
163 unsigned int numTauJets = 0;
164 std::string numTracksPerTaujet =
"";
165 std::string trackKeyString =
"trackKey";
166 std::string trackIndexString =
"trackIndex";
168 if (
msgLvl(MSG::DEBUG))
msg(MSG::DEBUG) <<
" Number of TauJets: " << taucont->
size() <<
endmsg;
170 for (; taujetItr != taujetItrE; ++taujetItr) {
172 countTrackLinks += myTrackLinkVector.
size();
175 if ( numTauJets == 0 ){
176 numTracksPerTaujet =
"0";
178 numTracksPerTaujet =
DataType( countTrackLinks/((
double) numTauJets )).toString();
180 trackKeyString =
"trackKey multiple=\""+numTracksPerTaujet+
"\"";
181 trackIndexString =
"trackIndex multiple=\""+numTracksPerTaujet+
"\"";
184 if (
msgLvl(MSG::DEBUG))
msg(MSG::DEBUG) <<
" trackKeyString: " << trackKeyString <<
185 " trackIndexString: " << trackIndexString <<
endmsg;
187 std::string labelStr =
"none";
188 std::string isTauStr =
"none";
190 taujetItr = taucont->
begin();
191 for (; taujetItr != taujetItrE; ++taujetItr) {
204 std::string taujetAuthor =
"none";
205 if (( (*taujetItr)->author()) == 0){ taujetAuthor =
"default"; }
206 if (( (*taujetItr)->author()) == 1){ taujetAuthor =
"tauRec"; }
207 if (( (*taujetItr)->author()) == 2){ taujetAuthor =
"tau1P3P"; }
210 labelStr = taujetAuthor;
220 isTauStr =
"TauLlhLoose"; labelStr +=
"_TauLlhLoose";}
222 isTauStr =
"TauLlhMedium"; labelStr +=
"_TauLlhMedium";}
224 isTauStr =
"TauLlhTight"; labelStr +=
"_TauLlhTight";}
226 isTauStr =
"TauCutLoose"; labelStr +=
"_TauCutLoose";}
228 isTauStr =
"TauCutMedium"; labelStr +=
"_TauCutMedium";}
230 isTauStr =
"TauCutTight"; labelStr +=
"_TauCutTight"; }
231 if (
msgLvl(MSG::DEBUG))
msg(MSG::DEBUG) <<
" TauJet # " << (++id)
232 <<
", label:" << labelStr <<
endmsg;
233 isTauString.push_back (isTauStr);
234 label.push_back( labelStr );
254 std::string clusterKey = clusterLink.
dataID();
255 int clusterIndex = clusterLink.
index();
256 clusterKeyVec.push_back(
DataType( clusterKey ));
257 clusterIndexVec.push_back(
DataType( clusterIndex));
259 clusterKeyVec.push_back(
DataType(
"none" ));
260 clusterIndexVec.push_back(
DataType( -1 ));
266 unsigned int trackLinkCount = myTrackLinkVector.
size();
267 trackLinkCountVec.push_back(
DataType( trackLinkCount ));
269 if (trackLinkCount > 0){
270 for (
unsigned int i=0; i<trackLinkCount; ++i){
273 std::string trackKey = trackParticleLink.
dataID();
274 int trackIndex = trackParticleLink.
index();
275 if ( trackParticleLink.
isValid()){
279 trackKeyVec.push_back(
DataType( trackKey ));
280 trackIndexVec.push_back(
DataType( trackIndex));
282 trackKeyVec.push_back(
DataType(
"none" ));
283 trackIndexVec.push_back(
DataType( -1 ));
289 std::string numTracksEmpty =
"0";
302 clusterKeyVec.push_back(
DataType(
"none" ));
303 clusterIndexVec.push_back(
DataType( -1 ));
304 trackKeyVec.push_back(
DataType(
"none" ));
305 trackIndexVec.push_back(
DataType( -1 ));
306 trackLinkCountVec.push_back(
DataType( -1 ));
321 DataMap[
"isTauString"] = isTauString;
323 DataMap[
"numTracks"] = numTracks;
326 DataMap[
"etEMCalib"] = etEMCalib;
327 DataMap[
"etHadCalib"] = etHadCalib;
328 DataMap[
"emRadius"] = emRadius;
329 DataMap[
"isolFrac"] = isolFrac;
330 DataMap[
"stripWidth"] = stripWidth;
331 DataMap[
"logLhRatio"] = logLhRatio;
334 DataMap[
"clusterKey"] = clusterKeyVec;
335 DataMap[
"clusterIndex"] = clusterIndexVec;
336 DataMap[trackKeyString] = trackKeyVec;
337 DataMap[trackIndexString] = trackIndexVec;
338 DataMap[
"trackLinkCount"] = trackLinkCountVec;