CMS 3D CMS Logo

List of all members | Public Member Functions | Private Member Functions | Private Attributes
Tracker_OldtoNewConverter Class Reference
Inheritance diagram for Tracker_OldtoNewConverter:
edm::EDAnalyzer edm::EDConsumerBase

Public Member Functions

 Tracker_OldtoNewConverter (const edm::ParameterSet &)
 
 ~Tracker_OldtoNewConverter () override
 
- Public Member Functions inherited from edm::EDAnalyzer
void callWhenNewProductsRegistered (std::function< void(BranchDescription const &)> const &func)
 
 EDAnalyzer ()
 
SerialTaskQueueglobalLuminosityBlocksQueue ()
 
SerialTaskQueueglobalRunsQueue ()
 
ModuleDescription const & moduleDescription () const
 
std::string workerType () const
 
 ~EDAnalyzer () override
 
- Public Member Functions inherited from edm::EDConsumerBase
std::vector< ConsumesInfoconsumesInfo () const
 
void convertCurrentProcessAlias (std::string const &processName)
 Convert "@currentProcess" in InputTag process names to the actual current process name. More...
 
 EDConsumerBase ()
 
 EDConsumerBase (EDConsumerBase &&)=default
 
 EDConsumerBase (EDConsumerBase const &)=delete
 
ESProxyIndex const * esGetTokenIndices (edm::Transition iTrans) const
 
ProductResolverIndexAndSkipBit indexFrom (EDGetToken, BranchType, TypeID const &) const
 
void itemsMayGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
void itemsToGet (BranchType, std::vector< ProductResolverIndexAndSkipBit > &) const
 
std::vector< ProductResolverIndexAndSkipBit > const & itemsToGetFrom (BranchType iType) const
 
void labelsForToken (EDGetToken iToken, Labels &oLabels) const
 
void modulesWhoseProductsAreConsumed (std::vector< ModuleDescription const * > &modules, ProductRegistry const &preg, std::map< std::string, ModuleDescription const * > const &labelsToDesc, std::string const &processName) const
 
EDConsumerBaseoperator= (EDConsumerBase &&)=default
 
EDConsumerBase const & operator= (EDConsumerBase const &)=delete
 
bool registeredToConsume (ProductResolverIndex, bool, BranchType) const
 
bool registeredToConsumeMany (TypeID const &, BranchType) const
 
ProductResolverIndexAndSkipBit uncheckedIndexFrom (EDGetToken) const
 
void updateLookup (BranchType iBranchType, ProductResolverIndexHelper const &, bool iPrefetchMayGet)
 
void updateLookup (eventsetup::ESRecordsToProxyIndices const &)
 
virtual ~EDConsumerBase () noexcept(false)
 

Private Member Functions

void addBranches ()
 
void analyze (const edm::Event &iEvent, const edm::EventSetup &iSetup) override
 
void beginJob () override
 
void createMap ()
 
void endJob () override
 

Private Attributes

double a_f
 
double a_i
 
double b_f
 
double b_i
 
double c_f
 
double c_i
 
std::string m_conversionType
 
std::string m_inputFile
 
TFile * m_inputTFile
 
TTree * m_inputTree
 
std::string m_outputFile
 
TFile * m_outputTFile
 
TTree * m_outputTree
 
std::string m_textFile
 
std::string m_treeName
 
uint32_t rawid_f
 
uint32_t rawid_i
 
std::map< uint32_t, uint32_t > theMap
 
double x_f
 
double x_i
 
double y_f
 
double y_i
 
double z_f
 
double z_i
 

Additional Inherited Members

- Public Types inherited from edm::EDAnalyzer
typedef EDAnalyzer ModuleType
 
- Public Types inherited from edm::EDConsumerBase
typedef ProductLabels Labels
 
- Static Public Member Functions inherited from edm::EDAnalyzer
static const std::string & baseType ()
 
static void fillDescriptions (ConfigurationDescriptions &descriptions)
 
static void prevalidate (ConfigurationDescriptions &)
 
static bool wantsGlobalLuminosityBlocks ()
 
static bool wantsGlobalRuns ()
 
static bool wantsStreamLuminosityBlocks ()
 
static bool wantsStreamRuns ()
 
- Protected Member Functions inherited from edm::EDConsumerBase
EDGetToken consumes (const TypeToGet &id, edm::InputTag const &tag)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > consumes (edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken consumes (TypeToGet const &id, edm::InputTag const &tag)
 
ConsumesCollector consumesCollector ()
 Use a ConsumesCollector to gather consumes information from helper functions. More...
 
template<typename ProductType , BranchType B = InEvent>
void consumesMany ()
 
void consumesMany (const TypeToGet &id)
 
template<BranchType B>
void consumesMany (const TypeToGet &id)
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes ()
 
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event>
auto esConsumes (ESInputTag const &tag)
 
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<BranchType B>
EDGetToken mayConsume (const TypeToGet &id, edm::InputTag const &tag)
 
template<typename ProductType , BranchType B = InEvent>
EDGetTokenT< ProductType > mayConsume (edm::InputTag const &tag)
 

Detailed Description

Definition at line 38 of file Tracker_OldtoNewConverter.cc.

Constructor & Destructor Documentation

◆ Tracker_OldtoNewConverter()

Tracker_OldtoNewConverter::Tracker_OldtoNewConverter ( const edm::ParameterSet iConfig)
explicit

Definition at line 83 of file Tracker_OldtoNewConverter.cc.

84  : m_inputTFile(nullptr),
85  m_outputTFile(nullptr),
86  m_inputTree(nullptr),
87  m_outputTree(nullptr),
88  rawid_i(0),
89  rawid_f(0),
90  x_i(0.),
91  y_i(0.),
92  z_i(0.),
93  a_i(0.),
94  b_i(0.),
95  c_i(0.),
96  x_f(0.),
97  y_f(0.),
98  z_f(0.),
99  a_f(0.),
100  b_f(0.),
101  c_f(0.) {
102  m_conversionType = iConfig.getUntrackedParameter<std::string>("conversionType");
103  m_inputFile = iConfig.getUntrackedParameter<std::string>("inputFile");
104  m_outputFile = iConfig.getUntrackedParameter<std::string>("outputFile");
105  m_textFile = iConfig.getUntrackedParameter<std::string>("textFile");
106  m_treeName = iConfig.getUntrackedParameter<std::string>("treeName");
107 }

References edm::ParameterSet::getUntrackedParameter(), m_conversionType, m_inputFile, m_outputFile, m_textFile, m_treeName, and AlCaHLTBitMon_QueryRunRegistry::string.

◆ ~Tracker_OldtoNewConverter()

Tracker_OldtoNewConverter::~Tracker_OldtoNewConverter ( )
override

Definition at line 109 of file Tracker_OldtoNewConverter.cc.

109 {}

Member Function Documentation

◆ addBranches()

void Tracker_OldtoNewConverter::addBranches ( )
private

Definition at line 188 of file Tracker_OldtoNewConverter.cc.

188  {
189  m_inputTree->SetBranchAddress("rawid", &rawid_i);
190  m_inputTree->SetBranchAddress("x", &x_i);
191  m_inputTree->SetBranchAddress("y", &y_i);
192  m_inputTree->SetBranchAddress("z", &z_i);
193  m_inputTree->SetBranchAddress("alpha", &a_i);
194  m_inputTree->SetBranchAddress("beta", &b_i);
195  m_inputTree->SetBranchAddress("gamma", &c_i);
196 
197  m_outputTree->Branch("rawid", &rawid_f, "rawid/I");
198  m_outputTree->Branch("x", &x_f, "x/D");
199  m_outputTree->Branch("y", &y_f, "y/D");
200  m_outputTree->Branch("z", &z_f, "z/D");
201  m_outputTree->Branch("alpha", &a_f, "alpha/D");
202  m_outputTree->Branch("beta", &b_f, "beta/D");
203  m_outputTree->Branch("gamma", &c_f, "gamma/D");
204 }

References a_f, a_i, b_f, b_i, c_f, c_i, m_inputTree, m_outputTree, rawid_f, rawid_i, x_f, x_i, y_f, y_i, z_f, and z_i.

Referenced by beginJob().

◆ analyze()

void Tracker_OldtoNewConverter::analyze ( const edm::Event iEvent,
const edm::EventSetup iSetup 
)
overrideprivatevirtual

Implements edm::EDAnalyzer.

Definition at line 116 of file Tracker_OldtoNewConverter.cc.

116 {}

◆ beginJob()

void Tracker_OldtoNewConverter::beginJob ( void  )
overrideprivatevirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 119 of file Tracker_OldtoNewConverter.cc.

119  {
120  m_inputTFile = new TFile(m_inputFile.c_str());
121  m_outputTFile = new TFile(m_outputFile.c_str(), "RECREATE");
122 
123  m_inputTree = (TTree*)m_inputTFile->Get(m_treeName.c_str());
124  m_outputTree = new TTree(m_treeName.c_str(), m_treeName.c_str());
125 
126  createMap();
127  addBranches();
128 
129  uint32_t nEntries = m_inputTree->GetEntries();
130  uint32_t iter = 0;
131  for (uint32_t i = 0; i < nEntries; ++i) {
132  m_inputTree->GetEntry(i);
133  std::map<uint32_t, uint32_t>::const_iterator it = theMap.find(rawid_i);
134 
135  if (it == theMap.end()) {
136  edm::LogInfo("ERROR") << "Error: couldn't find rawId: " << rawid_i;
137  iter++;
138  } else {
139  rawid_f = (it)->second;
140  x_f = x_i;
141  y_f = y_i;
142  z_f = z_i;
143  a_f = a_i;
144  b_f = b_i;
145  c_f = c_i;
146  m_outputTree->Fill();
147  }
148  }
149  edm::LogInfo("errors") << "Couldn't find: " << iter;
150  m_outputTFile->cd();
151  m_outputTree->Write();
152  m_outputTFile->Close();
153 }

References a_f, a_i, addBranches(), b_f, b_i, c_f, c_i, createMap(), mps_fire::i, m_inputFile, m_inputTFile, m_inputTree, m_outputFile, m_outputTFile, m_outputTree, m_treeName, rawid_f, rawid_i, edm::second(), theMap, x_f, x_i, y_f, y_i, z_f, and z_i.

◆ createMap()

void Tracker_OldtoNewConverter::createMap ( )
private

Definition at line 155 of file Tracker_OldtoNewConverter.cc.

155  {
156  std::ifstream myfile(m_textFile.c_str());
157  if (!myfile.is_open())
158  throw cms::Exception("FileAccess") << "Unable to open input text file";
159 
160  uint32_t oldid;
161  uint32_t newid;
162 
163  uint32_t ctr = 0;
164  while (!myfile.eof() && myfile.good()) {
165  myfile >> oldid >> newid;
166 
167  //depends on conversion type: OldtoNew or NewtoOld
168  std::pair<uint32_t, uint32_t> pairType;
169  if (m_conversionType == "OldtoNew") {
170  pairType.first = oldid;
171  pairType.second = newid;
172  }
173  if (m_conversionType == "NewtoOld") {
174  pairType.first = newid;
175  pairType.second = oldid;
176  }
177 
178  theMap.insert(pairType);
179 
180  if (myfile.fail())
181  break;
182 
183  ctr++;
184  }
185  edm::LogInfo("Check") << ctr << " alignables read.";
186 }

References dqmiodatasetharvest::ctr, m_conversionType, m_textFile, and theMap.

Referenced by beginJob().

◆ endJob()

void Tracker_OldtoNewConverter::endJob ( void  )
overrideprivatevirtual

Reimplemented from edm::EDAnalyzer.

Definition at line 207 of file Tracker_OldtoNewConverter.cc.

207 {}

Referenced by o2olib.O2ORunMgr::executeJob().

Member Data Documentation

◆ a_f

double Tracker_OldtoNewConverter::a_f
private

Definition at line 69 of file Tracker_OldtoNewConverter.cc.

Referenced by addBranches(), and beginJob().

◆ a_i

double Tracker_OldtoNewConverter::a_i
private

Definition at line 68 of file Tracker_OldtoNewConverter.cc.

Referenced by addBranches(), and beginJob().

◆ b_f

double Tracker_OldtoNewConverter::b_f
private

Definition at line 69 of file Tracker_OldtoNewConverter.cc.

Referenced by addBranches(), and beginJob().

◆ b_i

double Tracker_OldtoNewConverter::b_i
private

Definition at line 68 of file Tracker_OldtoNewConverter.cc.

Referenced by addBranches(), and beginJob().

◆ c_f

double Tracker_OldtoNewConverter::c_f
private

Definition at line 69 of file Tracker_OldtoNewConverter.cc.

Referenced by addBranches(), and beginJob().

◆ c_i

double Tracker_OldtoNewConverter::c_i
private

Definition at line 68 of file Tracker_OldtoNewConverter.cc.

Referenced by addBranches(), and beginJob().

◆ m_conversionType

std::string Tracker_OldtoNewConverter::m_conversionType
private

Definition at line 53 of file Tracker_OldtoNewConverter.cc.

Referenced by createMap(), and Tracker_OldtoNewConverter().

◆ m_inputFile

std::string Tracker_OldtoNewConverter::m_inputFile
private

Definition at line 55 of file Tracker_OldtoNewConverter.cc.

Referenced by beginJob(), and Tracker_OldtoNewConverter().

◆ m_inputTFile

TFile* Tracker_OldtoNewConverter::m_inputTFile
private

Definition at line 61 of file Tracker_OldtoNewConverter.cc.

Referenced by beginJob().

◆ m_inputTree

TTree* Tracker_OldtoNewConverter::m_inputTree
private

Definition at line 63 of file Tracker_OldtoNewConverter.cc.

Referenced by addBranches(), and beginJob().

◆ m_outputFile

std::string Tracker_OldtoNewConverter::m_outputFile
private

Definition at line 56 of file Tracker_OldtoNewConverter.cc.

Referenced by beginJob(), and Tracker_OldtoNewConverter().

◆ m_outputTFile

TFile* Tracker_OldtoNewConverter::m_outputTFile
private

Definition at line 62 of file Tracker_OldtoNewConverter.cc.

Referenced by beginJob().

◆ m_outputTree

TTree* Tracker_OldtoNewConverter::m_outputTree
private

Definition at line 64 of file Tracker_OldtoNewConverter.cc.

Referenced by addBranches(), and beginJob().

◆ m_textFile

std::string Tracker_OldtoNewConverter::m_textFile
private

Definition at line 54 of file Tracker_OldtoNewConverter.cc.

Referenced by createMap(), and Tracker_OldtoNewConverter().

◆ m_treeName

std::string Tracker_OldtoNewConverter::m_treeName
private

Definition at line 57 of file Tracker_OldtoNewConverter.cc.

Referenced by beginJob(), and Tracker_OldtoNewConverter().

◆ rawid_f

uint32_t Tracker_OldtoNewConverter::rawid_f
private

Definition at line 66 of file Tracker_OldtoNewConverter.cc.

Referenced by addBranches(), and beginJob().

◆ rawid_i

uint32_t Tracker_OldtoNewConverter::rawid_i
private

Definition at line 66 of file Tracker_OldtoNewConverter.cc.

Referenced by addBranches(), and beginJob().

◆ theMap

std::map<uint32_t, uint32_t> Tracker_OldtoNewConverter::theMap
private

Definition at line 59 of file Tracker_OldtoNewConverter.cc.

Referenced by beginJob(), and createMap().

◆ x_f

double Tracker_OldtoNewConverter::x_f
private

Definition at line 69 of file Tracker_OldtoNewConverter.cc.

Referenced by addBranches(), and beginJob().

◆ x_i

double Tracker_OldtoNewConverter::x_i
private

Definition at line 68 of file Tracker_OldtoNewConverter.cc.

Referenced by addBranches(), and beginJob().

◆ y_f

double Tracker_OldtoNewConverter::y_f
private

Definition at line 69 of file Tracker_OldtoNewConverter.cc.

Referenced by addBranches(), and beginJob().

◆ y_i

double Tracker_OldtoNewConverter::y_i
private

Definition at line 68 of file Tracker_OldtoNewConverter.cc.

Referenced by addBranches(), and beginJob().

◆ z_f

double Tracker_OldtoNewConverter::z_f
private

Definition at line 69 of file Tracker_OldtoNewConverter.cc.

Referenced by addBranches(), and beginJob().

◆ z_i

double Tracker_OldtoNewConverter::z_i
private

Definition at line 68 of file Tracker_OldtoNewConverter.cc.

Referenced by addBranches(), and beginJob().

mps_fire.i
i
Definition: mps_fire.py:355
Tracker_OldtoNewConverter::m_inputTree
TTree * m_inputTree
Definition: Tracker_OldtoNewConverter.cc:63
Tracker_OldtoNewConverter::b_i
double b_i
Definition: Tracker_OldtoNewConverter.cc:68
Tracker_OldtoNewConverter::x_f
double x_f
Definition: Tracker_OldtoNewConverter.cc:69
Tracker_OldtoNewConverter::theMap
std::map< uint32_t, uint32_t > theMap
Definition: Tracker_OldtoNewConverter.cc:59
edm::LogInfo
Definition: MessageLogger.h:254
Tracker_OldtoNewConverter::a_f
double a_f
Definition: Tracker_OldtoNewConverter.cc:69
Tracker_OldtoNewConverter::c_i
double c_i
Definition: Tracker_OldtoNewConverter.cc:68
edm::second
U second(std::pair< T, U > const &p)
Definition: ParameterSet.cc:215
Tracker_OldtoNewConverter::x_i
double x_i
Definition: Tracker_OldtoNewConverter.cc:68
Tracker_OldtoNewConverter::z_i
double z_i
Definition: Tracker_OldtoNewConverter.cc:68
edm::ParameterSet::getUntrackedParameter
T getUntrackedParameter(std::string const &, T const &) const
Tracker_OldtoNewConverter::rawid_i
uint32_t rawid_i
Definition: Tracker_OldtoNewConverter.cc:66
Tracker_OldtoNewConverter::m_outputFile
std::string m_outputFile
Definition: Tracker_OldtoNewConverter.cc:56
Tracker_OldtoNewConverter::m_conversionType
std::string m_conversionType
Definition: Tracker_OldtoNewConverter.cc:53
Tracker_OldtoNewConverter::m_inputFile
std::string m_inputFile
Definition: Tracker_OldtoNewConverter.cc:55
Tracker_OldtoNewConverter::addBranches
void addBranches()
Definition: Tracker_OldtoNewConverter.cc:188
AlCaHLTBitMon_QueryRunRegistry.string
string
Definition: AlCaHLTBitMon_QueryRunRegistry.py:256
Tracker_OldtoNewConverter::rawid_f
uint32_t rawid_f
Definition: Tracker_OldtoNewConverter.cc:66
Tracker_OldtoNewConverter::m_outputTFile
TFile * m_outputTFile
Definition: Tracker_OldtoNewConverter.cc:62
dqmiodatasetharvest.ctr
ctr
Definition: dqmiodatasetharvest.py:191
Tracker_OldtoNewConverter::a_i
double a_i
Definition: Tracker_OldtoNewConverter.cc:68
Tracker_OldtoNewConverter::b_f
double b_f
Definition: Tracker_OldtoNewConverter.cc:69
Tracker_OldtoNewConverter::z_f
double z_f
Definition: Tracker_OldtoNewConverter.cc:69
Tracker_OldtoNewConverter::m_textFile
std::string m_textFile
Definition: Tracker_OldtoNewConverter.cc:54
Tracker_OldtoNewConverter::createMap
void createMap()
Definition: Tracker_OldtoNewConverter.cc:155
cms::Exception
Definition: Exception.h:70
Tracker_OldtoNewConverter::m_inputTFile
TFile * m_inputTFile
Definition: Tracker_OldtoNewConverter.cc:61
Tracker_OldtoNewConverter::m_outputTree
TTree * m_outputTree
Definition: Tracker_OldtoNewConverter.cc:64
Tracker_OldtoNewConverter::y_f
double y_f
Definition: Tracker_OldtoNewConverter.cc:69
Tracker_OldtoNewConverter::y_i
double y_i
Definition: Tracker_OldtoNewConverter.cc:68
Tracker_OldtoNewConverter::c_f
double c_f
Definition: Tracker_OldtoNewConverter.cc:69
Tracker_OldtoNewConverter::m_treeName
std::string m_treeName
Definition: Tracker_OldtoNewConverter.cc:57