NAIA
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups
NtpTools.h
Go to the documentation of this file.
1 #include <iomanip>
2 #include <iostream>
3 
4 #include "TObjString.h"
5 
6 #include "root.h"
7 
8 namespace NAIA {
9 namespace NtpTools {
10 std::pair<unsigned int, unsigned int> GetInnerNHits(TrTrackR *track);
11 
12 template <typename T> T GetDatacardValue(TObjString *datacard, const std::string &key) {
13  double value = std::numeric_limits<double>::max();
14  TObjArray *lines = datacard->GetString().Tokenize('\n');
15  TString dummystr;
16  for (size_t il = 0; il < lines->GetEntries(); il++) {
17  dummystr = static_cast<TObjString *>(lines->At(il))->GetString();
18  if (dummystr.Contains(key + "=") && !dummystr.BeginsWith('C')) {
19  value = dummystr(dummystr.Last('=') + 1, dummystr.Length()).String().Atof();
20  }
21  }
22 
23  return static_cast<T>(value);
24 }
25 } // namespace NtpTools
26 } // namespace NAIA
std::pair< unsigned int, unsigned int > GetInnerNHits(TrTrackR *track)
Definition: NtpTools.cpp:7
T GetDatacardValue(TObjString *datacard, const std::string &key)
Definition: NtpTools.h:12