12 auto subEV = std::dynamic_pointer_cast<std::remove_pointer<
decltype(
this)>::type>(result);
17 auto re = subEV->ValueMapInt.find(t.first);
18 if (re != subEV->ValueMapInt.end())
20 t.second.insert(t.second.end(), re->second.begin(), re->second.end());
25 auto re = subEV->ValueMapLong.find(t.first);
26 if (re != subEV->ValueMapLong.end())
28 t.second.insert(t.second.end(), re->second.begin(), re->second.end());
33 auto re = subEV->ValueMapDouble.find(t.first);
34 if (re != subEV->ValueMapDouble.end())
36 t.second.insert(t.second.end(), re->second.begin(), re->second.end());
41 auto re = subEV->ValueMapBool.find(t.first);
42 if (re != subEV->ValueMapBool.end())
44 t.second.insert(t.second.end(), re->second.begin(), re->second.end());
49 auto re = subEV->ValueMapTString.find(t.first);
50 if (re != subEV->ValueMapTString.end())
52 t.second.insert(t.second.end(), re->second.begin(), re->second.end());
57 auto re = subEV->ValueMapTLorentzVector.find(t.first);
58 if (re != subEV->ValueMapTLorentzVector.end())
60 t.second.insert(t.second.end(), re->second.begin(), re->second.end());
65 auto re = subEV->ValueMapIntVec.find(t.first);
66 if (re != subEV->ValueMapIntVec.end())
68 t.second.insert(t.second.end(), re->second.begin(), re->second.end());
73 auto re = subEV->ValueMapLongVec.find(t.first);
74 if (re != subEV->ValueMapLongVec.end())
76 t.second.insert(t.second.end(), re->second.begin(), re->second.end());
81 auto re = subEV->ValueMapDoubleVec.find(t.first);
82 if (re != subEV->ValueMapDoubleVec.end())
84 t.second.insert(t.second.end(), re->second.begin(), re->second.end());
89 auto re = subEV->ValueMapBoolVec.find(t.first);
90 if (re != subEV->ValueMapBoolVec.end())
92 t.second.insert(t.second.end(), re->second.begin(), re->second.end());
97 auto re = subEV->ValueMapTStringVec.find(t.first);
98 if (re != subEV->ValueMapTStringVec.end())
100 t.second.insert(t.second.end(), re->second.begin(), re->second.end());
105 auto re = subEV->ValueMapTLorentzVectorVec.find(t.first);
106 if (re != subEV->ValueMapTLorentzVectorVec.end())
108 t.second.insert(t.second.end(), re->second.begin(), re->second.end());
112 this->
size += subEV->size;
120 ValueMapInt.emplace(std::pair<TString, std::vector<int>>(name, std::vector<int>{}));
122 BookVarMapInt.emplace(std::pair<
int *, std::vector<int> *>(value, temp));
126 MSGUser()->StartTitle(
"EventVector::BookVariable");
127 MSGUser()->MSG(
MSGLevel::ERROR,
"Variable ", name,
" has already been booked, this call will be ignored");
136 ValueMapLong.emplace(std::pair<TString, std::vector<long>>(name, std::vector<long>{}));
138 BookVarMapLong.emplace(std::pair<
long *, std::vector<long> *>(value, temp));
142 MSGUser()->StartTitle(
"EventVector::BookVariable");
143 MSGUser()->MSG(
MSGLevel::ERROR,
"Variable ", name,
" has already been booked, this call will be ignored");
152 ValueMapDouble.emplace(std::pair<TString, std::vector<double>>(name, std::vector<double>{}));
154 BookVarMapDouble.emplace(std::pair<
double *, std::vector<double> *>(value, temp));
158 MSGUser()->StartTitle(
"EventVector::BookVariable");
159 MSGUser()->MSG(
MSGLevel::ERROR,
"Variable ", name,
" has already been booked, this call will be ignored");
168 ValueMapBool.emplace(std::pair<TString, std::vector<bool>>(name, std::vector<bool>{}));
170 BookVarMapBool.emplace(std::pair<
bool *, std::vector<bool> *>(value, temp));
174 MSGUser()->StartTitle(
"EventVector::BookVariable");
175 MSGUser()->MSG(
MSGLevel::ERROR,
"Variable ", name,
" has already been booked, this call will be ignored");
184 ValueMapTString.emplace(std::pair<TString, std::vector<TString>>(name, std::vector<TString>{}));
186 BookVarMapTString.emplace(std::pair<TString *, std::vector<TString> *>(value, temp));
190 MSGUser()->StartTitle(
"EventVector::BookVariable");
191 MSGUser()->MSG(
MSGLevel::ERROR,
"Variable ", name,
" has already been booked, this call will be ignored");
200 ValueMapTLorentzVector.emplace(std::pair<TString, std::vector<TLorentzVector>>(name, std::vector<TLorentzVector>{}));
206 MSGUser()->StartTitle(
"EventVector::BookVariable");
207 MSGUser()->MSG(
MSGLevel::ERROR,
"Variable ", name,
" has already been booked, this call will be ignored");
216 ValueMapIntVec.emplace(std::pair<TString, std::vector<std::vector<int>>>(name, std::vector<std::vector<int>>()));
218 BookVarMapIntVec.emplace(std::pair<std::vector<int> *, std::vector<std::vector<int>> *>(value, temp));
222 MSGUser()->StartTitle(
"EventVector::BookVariable");
223 MSGUser()->MSG(
MSGLevel::ERROR,
"Variable ", name,
" has already been booked, this call will be ignored");
232 ValueMapLongVec.emplace(std::pair<TString, std::vector<std::vector<long>>>(name, std::vector<std::vector<long>>()));
234 BookVarMapLongVec.emplace(std::pair<std::vector<long> *, std::vector<std::vector<long>> *>(value, temp));
238 MSGUser()->StartTitle(
"EventVector::BookVariable");
239 MSGUser()->MSG(
MSGLevel::ERROR,
"Variable ", name,
" has already been booked, this call will be ignored");
248 ValueMapDoubleVec.emplace(std::pair<TString, std::vector<std::vector<double>>>(name, std::vector<std::vector<double>>()));
250 BookVarMapDoubleVec.emplace(std::pair<std::vector<double> *, std::vector<std::vector<double>> *>(value, temp));
254 MSGUser()->StartTitle(
"EventVector::BookVariable");
255 MSGUser()->MSG(
MSGLevel::ERROR,
"Variable ", name,
" has already been booked, this call will be ignored");
264 ValueMapBoolVec.emplace(std::pair<TString, std::vector<std::vector<bool>>>(name, std::vector<std::vector<bool>>()));
266 BookVarMapBoolVec.emplace(std::pair<std::vector<bool> *, std::vector<std::vector<bool>> *>(value, temp));
270 MSGUser()->StartTitle(
"EventVector::BookVariable");
271 MSGUser()->MSG(
MSGLevel::ERROR,
"Variable ", name,
" has already been booked, this call will be ignored");
280 ValueMapTStringVec.emplace(std::pair<TString, std::vector<std::vector<TString>>>(name, std::vector<std::vector<TString>>()));
282 BookVarMapTStringVec.emplace(std::pair<std::vector<TString> *, std::vector<std::vector<TString>> *>(value, temp));
286 MSGUser()->StartTitle(
"EventVector::BookVariable");
287 MSGUser()->MSG(
MSGLevel::ERROR,
"Variable ", name,
" has already been booked, this call will be ignored");
296 ValueMapTLorentzVectorVec.emplace(std::pair<TString, std::vector<std::vector<TLorentzVector>>>(name, std::vector<std::vector<TLorentzVector>>()));
298 BookVarMapTLorentzVectorVec.emplace(std::pair<std::vector<TLorentzVector> *, std::vector<std::vector<TLorentzVector>> *>(value, temp));
302 MSGUser()->StartTitle(
"EventVector::BookVariable");
303 MSGUser()->MSG(
MSGLevel::ERROR,
"Variable ", name,
" has already been booked, this call will be ignored");
313 SetVarMapInt.emplace(std::pair<
int *, std::vector<int> *>(value, &(re->second)));
317 MSGUser()->StartTitle(
"EventVector::SetVariableAddress");
328 SetVarMapLong.emplace(std::pair<
long *, std::vector<long> *>(value, &(re->second)));
332 MSGUser()->StartTitle(
"EventVector::SetVariableAddress");
343 SetVarMapDouble.emplace(std::pair<
double *, std::vector<double> *>(value, &(re->second)));
347 MSGUser()->StartTitle(
"EventVector::SetVariableAddress");
358 SetVarMapBool.emplace(std::pair<
bool *, std::vector<bool> *>(value, &(re->second)));
362 MSGUser()->StartTitle(
"EventVector::SetVariableAddress");
373 SetVarMapTString.emplace(std::pair<TString *, std::vector<TString> *>(value, &(re->second)));
377 MSGUser()->StartTitle(
"EventVector::SetVariableAddress");
388 SetVarMapTLorentzVector.emplace(std::pair<TLorentzVector *, std::vector<TLorentzVector> *>(value, &(re->second)));
392 MSGUser()->StartTitle(
"EventVector::SetVariableAddress");
403 SetVarMapIntVec.emplace(std::pair<std::vector<int> *, std::vector<std::vector<int>> *>(value, &(re->second)));
407 MSGUser()->StartTitle(
"EventVector::SetVariableAddress");
418 SetVarMapLongVec.emplace(std::pair<std::vector<long> *, std::vector<std::vector<long>> *>(value, &(re->second)));
422 MSGUser()->StartTitle(
"EventVector::SetVariableAddress");
433 SetVarMapDoubleVec.emplace(std::pair<std::vector<double> *, std::vector<std::vector<double>> *>(value, &(re->second)));
437 MSGUser()->StartTitle(
"EventVector::SetVariableAddress");
448 SetVarMapBoolVec.emplace(std::pair<std::vector<bool> *, std::vector<std::vector<bool>> *>(value, &(re->second)));
452 MSGUser()->StartTitle(
"EventVector::SetVariableAddress");
463 SetVarMapTStringVec.emplace(std::pair<std::vector<TString> *, std::vector<std::vector<TString>> *>(value, &(re->second)));
467 MSGUser()->StartTitle(
"EventVector::SetVariableAddress");
478 SetVarMapTLorentzVectorVec.emplace(std::pair<std::vector<TLorentzVector> *, std::vector<std::vector<TLorentzVector>> *>(value, &(re->second)));
482 MSGUser()->StartTitle(
"EventVector::SetVariableAddress");
490 if (
size < ie || ie < 0)
492 MSGUser()->StartTitle(
"EventVector::GetEvent");
499 *(t.first) = t.second->at(ie);
501 *(t.first) = t.second->at(ie);
503 *(t.first) = t.second->at(ie);
505 *(t.first) = t.second->at(ie);
507 *(t.first) = t.second->at(ie);
509 *(t.first) = t.second->at(ie);
511 *(t.first) = t.second->at(ie);
513 *(t.first) = t.second->at(ie);
515 *(t.first) = t.second->at(ie);
517 *(t.first) = t.second->at(ie);
519 *(t.first) = t.second->at(ie);
521 *(t.first) = t.second->at(ie);
527 t.second->emplace_back(*(t.first));
529 t.second->emplace_back(*(t.first));
531 t.second->emplace_back(*(t.first));
533 t.second->emplace_back(*(t.first));
535 t.second->emplace_back(*(t.first));
537 t.second->emplace_back(*(t.first));
539 t.second->emplace_back(*(t.first));
541 t.second->emplace_back(*(t.first));
543 t.second->emplace_back(*(t.first));
545 t.second->emplace_back(*(t.first));
547 t.second->emplace_back(*(t.first));
549 t.second->emplace_back(*(t.first));
std::map< std::vector< TLorentzVector > *, std::vector< std::vector< TLorentzVector > > * > SetVarMapTLorentzVectorVec
std::map< std::vector< TString > *, std::vector< std::vector< TString > > * > SetVarMapTStringVec
std::map< TString, std::vector< TString > > ValueMapTString
std::map< double *, std::vector< double > * > BookVarMapDouble
std::map< std::vector< int > *, std::vector< std::vector< int > > * > SetVarMapIntVec
std::map< TString, std::vector< std::vector< long > > > ValueMapLongVec
std::map< long *, std::vector< long > * > SetVarMapLong
std::map< std::vector< bool > *, std::vector< std::vector< bool > > * > BookVarMapBoolVec
std::map< TString, std::vector< std::vector< TLorentzVector > > > ValueMapTLorentzVectorVec
std::map< TString, std::vector< std::vector< TString > > > ValueMapTStringVec
std::map< int *, std::vector< int > * > BookVarMapInt
std::map< TString *, std::vector< TString > * > SetVarMapTString
std::map< TString *, std::vector< TString > * > BookVarMapTString
std::map< TString, std::vector< std::vector< int > > > ValueMapIntVec
void SetVariableAddress(const TString &name, int *value)
std::map< double *, std::vector< double > * > SetVarMapDouble
std::map< std::vector< bool > *, std::vector< std::vector< bool > > * > SetVarMapBoolVec
std::map< TLorentzVector *, std::vector< TLorentzVector > * > SetVarMapTLorentzVector
std::map< TLorentzVector *, std::vector< TLorentzVector > * > BookVarMapTLorentzVector
void BookVariable(const TString &name, int *value)
std::map< std::vector< TLorentzVector > *, std::vector< std::vector< TLorentzVector > > * > BookVarMapTLorentzVectorVec
std::map< TString, std::vector< std::vector< double > > > ValueMapDoubleVec
std::map< bool *, std::vector< bool > * > SetVarMapBool
std::map< TString, std::vector< TLorentzVector > > ValueMapTLorentzVector
std::map< std::vector< TString > *, std::vector< std::vector< TString > > * > BookVarMapTStringVec
std::map< std::vector< long > *, std::vector< std::vector< long > > * > BookVarMapLongVec
std::map< std::vector< long > *, std::vector< std::vector< long > > * > SetVarMapLongVec
std::map< std::vector< int > *, std::vector< std::vector< int > > * > BookVarMapIntVec
std::map< int *, std::vector< int > * > SetVarMapInt
std::map< TString, std::vector< bool > > ValueMapBool
std::map< TString, std::vector< std::vector< bool > > > ValueMapBoolVec
std::map< TString, std::vector< double > > ValueMapDouble
std::map< TString, std::vector< int > > ValueMapInt
void Combine(std::shared_ptr< Result > result) override
Return the name of the output file.
std::map< TString, std::vector< long > > ValueMapLong
std::map< std::vector< double > *, std::vector< std::vector< double > > * > BookVarMapDoubleVec
std::map< std::vector< double > *, std::vector< std::vector< double > > * > SetVarMapDoubleVec
std::map< bool *, std::vector< bool > * > BookVarMapBool
std::map< long *, std::vector< long > * > BookVarMapLong
std::shared_ptr< MSGTool > MSGUser()
Return the internal MSGTool.