diff --git a/CalibMuon/DTCalibration/plugins/DTCalibrationMap.cc b/CalibMuon/DTCalibration/plugins/DTCalibrationMap.cc index 831dd8ae33a16..689ef77ab3cd4 100644 --- a/CalibMuon/DTCalibration/plugins/DTCalibrationMap.cc +++ b/CalibMuon/DTCalibration/plugins/DTCalibrationMap.cc @@ -191,7 +191,7 @@ void DTCalibrationMap::readConsts(const string& inputFileName) { istream_iterator(), back_inserter(wireCalib.second)); - if(wireCalib.second.size() != nFields){ + if(wireCalib.second.size() < nFields){ cout << "[DTCalibrationMap]***Warning: the CalibConstFile is not consistent with the number of fields!" << endl; } diff --git a/CalibMuon/DTCalibration/plugins/DTCalibrationMap.h b/CalibMuon/DTCalibration/plugins/DTCalibrationMap.h index 3836aa2718e09..ddfcaa3579606 100644 --- a/CalibMuon/DTCalibration/plugins/DTCalibrationMap.h +++ b/CalibMuon/DTCalibration/plugins/DTCalibrationMap.h @@ -3,10 +3,23 @@ /** \class DTCalibrationMap * Allow saving and retrieving of calibration constants to/from txt file. - * This is mainly provided for backward compatibility with the ORCA MuBarDigiParameters file. + * This was originally provided for backward compatibility with the ORCA MuBarDigiParameters file. * Can be used to save an arbitrary number of constants with the * needed granularity and to retrieve them back using the wireId. - * The first 5 fields for each key are allocated to ttri, sigma_ttrig, kfactor, vdrift and sigma_vdrift. + * Current field allocation: fields for each key are allocated to: + * --First block: legacy descriptors-- + * [0] ttrig + * [1] sigma_ttrig (obsolete) + * [2] kfactor (obsolete) + * [3] vdrift + * [4] sigma_vdrift (obsolete, was formerly hacked to include reoslution) + * [5] t0 + * [6] t0rms + * [7] noisy or dead flag + * [8-9] left for future usage + * --Second block (optional): free fields + * [10] Encoded information of free fields: (1000*version)+(100*type)+(number of fields); type is: ttrig=0, vdrift=1, uncertainties=3 + * [11-end] free fields * * \author G. Cerminara - INFN Torino */ diff --git a/CalibMuon/DTCalibration/test/DBTools/DumpDBToFile.cc b/CalibMuon/DTCalibration/test/DBTools/DumpDBToFile.cc index 9ceb1601b2ba8..37867203d8004 100644 --- a/CalibMuon/DTCalibration/test/DBTools/DumpDBToFile.cc +++ b/CalibMuon/DTCalibration/test/DBTools/DumpDBToFile.cc @@ -28,7 +28,10 @@ #include "CondFormats/DTObjects/interface/DTReadOutMapping.h" #include "CondFormats/DataRecord/interface/DTRecoUncertaintiesRcd.h" #include "CondFormats/DTObjects/interface/DTRecoUncertainties.h" - +#include "CondFormats/DTObjects/interface/DTRecoConditions.h" +#include "CondFormats/DataRecord/interface/DTRecoConditionsTtrigRcd.h" +#include "CondFormats/DataRecord/interface/DTRecoConditionsVdriftRcd.h" +#include "CondFormats/DataRecord/interface/DTRecoConditionsUncertRcd.h" #include #include #include @@ -43,10 +46,16 @@ DumpDBToFile::DumpDBToFile(const ParameterSet& pset) { dbToDump = pset.getUntrackedParameter("dbToDump", "TTrigDB"); dbLabel = pset.getUntrackedParameter("dbLabel", ""); + format = pset.getUntrackedParameter("dbFormat", "Legacy"); if(dbToDump != "VDriftDB" && dbToDump != "TTrigDB" && dbToDump != "TZeroDB" && dbToDump != "NoiseDB" && dbToDump != "DeadDB" && dbToDump != "ChannelsDB" && dbToDump != "RecoUncertDB") cout << "[DumpDBToFile] *** Error: parameter dbToDump is not valid, check the cfg file" << endl; + + if (format != "Legacy" && + format != "DTRecoConditions") + cout << "[DumpFileToDB] *** Error: parameter format is not valid, check the cfg file" << endl; + } DumpDBToFile::~DumpDBToFile(){} @@ -55,10 +64,18 @@ DumpDBToFile::~DumpDBToFile(){} void DumpDBToFile::beginRun(const edm::Run&, const EventSetup& setup) { // Read the right DB accordingly to the parameter dbToDump if(dbToDump == "VDriftDB") { - ESHandle mTime; - setup.get().get(mTime); - mTimeMap = &*mTime; - cout << "[DumpDBToFile] MTime version: " << mTime->version() << endl; + if (format=="Legacy") { + ESHandle mTime; + setup.get().get(mTime); + mTimeMap = &*mTime; + cout << "[DumpDBToFile] MTime version: " << mTime->version() << endl; + } else if (format=="DTRecoConditions"){ + ESHandle h_rconds; + setup.get().get(h_rconds); + rconds = &*h_rconds; + cout << "[DumpDBToFile] DTRecoConditions (vdrift) version: " << rconds->version() + << " expression: " << rconds->getFormulaExpr() << endl; + } } else if(dbToDump == "TTrigDB") { ESHandle tTrig; setup.get().get(dbLabel,tTrig); @@ -85,7 +102,6 @@ void DumpDBToFile::beginRun(const edm::Run&, const EventSetup& setup) { ESHandle uncerts; setup.get().get(uncerts); uncertMap = &*uncerts; - } } @@ -94,31 +110,51 @@ void DumpDBToFile::endJob() { if (dbToDump != "ChannelsDB") { if(dbToDump == "VDriftDB") { - for(DTMtime::const_iterator mtime = mTimeMap->begin(); - mtime != mTimeMap->end(); mtime++) { - DTWireId wireId((*mtime).first.wheelId, - (*mtime).first.stationId, - (*mtime).first.sectorId, - (*mtime).first.slId, 0, 0); - float vdrift; - float reso; - DetId detId( wireId.rawId() ); - // vdrift is cm/ns , resolution is cm - mTimeMap->get(detId, vdrift, reso, DTVelocityUnits::cm_per_ns); - cout << "Wh: " << (*mtime).first.wheelId - << " St: " << (*mtime).first.stationId - << " Sc: " << (*mtime).first.sectorId - << " Sl: " << (*mtime).first.slId - << " VDrift (cm/ns): " << vdrift - << " Hit reso (cm): " << reso << endl; - vector consts; - consts.push_back(-1); - consts.push_back(-1); - consts.push_back(-1); - consts.push_back(vdrift); - consts.push_back(reso); + if (format=="Legacy") { + for(DTMtime::const_iterator mtime = mTimeMap->begin(); + mtime != mTimeMap->end(); mtime++) { + DTWireId wireId((*mtime).first.wheelId, + (*mtime).first.stationId, + (*mtime).first.sectorId, + (*mtime).first.slId, 0, 0); + float vdrift; + float reso; + DetId detId( wireId.rawId() ); + // vdrift is cm/ns , resolution is cm + mTimeMap->get(detId, vdrift, reso, DTVelocityUnits::cm_per_ns); + cout << "Wh: " << (*mtime).first.wheelId + << " St: " << (*mtime).first.stationId + << " Sc: " << (*mtime).first.sectorId + << " Sl: " << (*mtime).first.slId + << " VDrift (cm/ns): " << vdrift + << " Hit reso (cm): " << reso << endl; + int version = 1; + int type =1; + int nfields=1; + vector consts = {-1, -1, -1, vdrift, reso, -1, -1, -1, -1, -1, float(version*1000+type*100+nfields), vdrift}; + theCalibFile->addCell(wireId, consts); + } + } else if (format=="DTRecoConditions") { + for(DTRecoConditions::const_iterator irc = rconds->begin(); irc != rconds->end(); ++irc) { + DTWireId wireId(irc->first); + const vector& data = irc->second; - theCalibFile->addCell(wireId, consts); + int version = rconds->version(); + int type =1; + int nfields = data.size(); + + // FIXME check size + float vdrift = data[0]; + float reso = 0; + + + vector consts(11+nfields,-1); + consts[3] = vdrift; + consts[4] = reso; + consts[10] = float(version*1000+type*100+nfields); + std::copy(data.begin(),data.end(),consts.begin()+11); + theCalibFile->addCell(wireId, consts); + } } } else if(dbToDump == "TTrigDB") { for(DTTtrig::const_iterator ttrig = tTrigMap->begin(); diff --git a/CalibMuon/DTCalibration/test/DBTools/DumpDBToFile.h b/CalibMuon/DTCalibration/test/DBTools/DumpDBToFile.h index 36fdcaafb0cfa..807d9fb139b59 100644 --- a/CalibMuon/DTCalibration/test/DBTools/DumpDBToFile.h +++ b/CalibMuon/DTCalibration/test/DBTools/DumpDBToFile.h @@ -22,6 +22,7 @@ class DTDeadFlag; class DTCalibrationMap; class DTReadOutMapping; class DTRecoUncertainties; +class DTRecoConditions; class DumpDBToFile : public edm::EDAnalyzer { public: @@ -48,6 +49,7 @@ class DumpDBToFile : public edm::EDAnalyzer { const DTDeadFlag *deadMap; const DTReadOutMapping *channelsMap; const DTRecoUncertainties *uncertMap; + const DTRecoConditions *rconds; DTCalibrationMap *theCalibFile; @@ -55,6 +57,7 @@ class DumpDBToFile : public edm::EDAnalyzer { std::string dbToDump; std::string dbLabel; + std::string format; }; #endif diff --git a/CalibMuon/DTCalibration/test/DBTools/DumpFileToDB.cc b/CalibMuon/DTCalibration/test/DBTools/DumpFileToDB.cc index 9948ceef185e8..01bef6d587b9d 100644 --- a/CalibMuon/DTCalibration/test/DBTools/DumpFileToDB.cc +++ b/CalibMuon/DTCalibration/test/DBTools/DumpFileToDB.cc @@ -24,6 +24,10 @@ #include "CondFormats/DTObjects/interface/DTDeadFlag.h" #include "CondFormats/DTObjects/interface/DTReadOutMapping.h" #include "CondFormats/DTObjects/interface/DTRecoUncertainties.h" +#include "CondFormats/DTObjects/interface/DTRecoConditions.h" +#include "CondFormats/DataRecord/interface/DTRecoConditionsTtrigRcd.h" +#include "CondFormats/DataRecord/interface/DTRecoConditionsVdriftRcd.h" +#include "CondFormats/DataRecord/interface/DTRecoConditionsUncertRcd.h" #include "CalibMuon/DTCalibration/interface/DTCalibDBUtils.h" using namespace edm; @@ -32,6 +36,7 @@ using namespace std; DumpFileToDB::DumpFileToDB(const ParameterSet& pset) { dbToDump = pset.getUntrackedParameter("dbToDump", "TTrigDB"); + format = pset.getUntrackedParameter("dbFormat", "Legacy"); if(dbToDump != "ChannelsDB") theCalibFile = new DTCalibrationMap(pset.getUntrackedParameter("calibFileConfig")); @@ -47,10 +52,20 @@ DumpFileToDB::DumpFileToDB(const ParameterSet& pset) { dbToDump != "RecoUncertDB") cout << "[DumpFileToDB] *** Error: parameter dbToDump is not valid, check the cfg file" << endl; + if (format != "Legacy" && + format != "DTRecoConditions") + cout << "[DumpFileToDB] *** Error: parameter format is not valid, check the cfg file" << endl; + + if (format == "DTRecoConditions" && + (dbToDump != "VDriftDB" && + dbToDump != "TTrigDB" && + dbToDump != "RecoUncertDB")) + cout << "[DumpFileToDB] ***Error: DTRecoConditions currently implemented for ttrig, vdrift, uncertainties only" << endl; + diffMode = pset.getUntrackedParameter("differentialMode", false); if(diffMode) { if(dbToDump != "TTrigDB") { - cout << "***Error: differential mode currentl implemented for ttrig only" << endl; + cout << "[DumpFileToDB] ***Error: differential mode currently implemented for ttrig only" << endl; abort(); } cout << "Using differential mode: mean value of txt table will be added to the current DB value" << endl; @@ -64,27 +79,63 @@ DumpFileToDB::~DumpFileToDB(){} void DumpFileToDB::endJob() { if(dbToDump == "VDriftDB") { // Write the Vdrift - // Create the object to be written to DB - DTMtime* mtime = new DTMtime(); + if (format=="Legacy") { + // Create the object to be written to DB + DTMtime* mtime = new DTMtime(); - // Loop over file entries - for(DTCalibrationMap::const_iterator keyAndCalibs = theCalibFile->keyAndConsts_begin(); - keyAndCalibs != theCalibFile->keyAndConsts_end(); - ++keyAndCalibs) { - cout << "key: " << (*keyAndCalibs).first - << " vdrift (cm/ns): " << theCalibFile->meanVDrift((*keyAndCalibs).first) - << " hit reso (cm): " << theCalibFile->sigma_meanVDrift((*keyAndCalibs).first) << endl; - // vdrift is cm/ns , resolution is cm - mtime->set((*keyAndCalibs).first.superlayerId(), - theCalibFile->meanVDrift((*keyAndCalibs).first), - theCalibFile->sigma_meanVDrift((*keyAndCalibs).first), - DTVelocityUnits::cm_per_ns); - } + // Loop over file entries + for(DTCalibrationMap::const_iterator keyAndCalibs = theCalibFile->keyAndConsts_begin(); + keyAndCalibs != theCalibFile->keyAndConsts_end(); + ++keyAndCalibs) { + cout << "key: " << (*keyAndCalibs).first + << " vdrift (cm/ns): " << theCalibFile->meanVDrift((*keyAndCalibs).first) + << " hit reso (cm): " << theCalibFile->sigma_meanVDrift((*keyAndCalibs).first) << endl; + // vdrift is cm/ns , resolution is cm + mtime->set((*keyAndCalibs).first.superlayerId(), + theCalibFile->meanVDrift((*keyAndCalibs).first), + theCalibFile->sigma_meanVDrift((*keyAndCalibs).first), + DTVelocityUnits::cm_per_ns); + } + + cout << "[DumpFileToDB]Writing mtime object to DB!" << endl; + string record = "DTMtimeRcd"; + DTCalibDBUtils::writeToDB(record, mtime); + } else if (format=="DTRecoConditions") { + DTRecoConditions* conds = new DTRecoConditions(); + conds->setFormulaExpr("[0]*(1-[1]*x)"); + for(DTCalibrationMap::const_iterator keyAndCalibs = theCalibFile->keyAndConsts_begin(); + keyAndCalibs != theCalibFile->keyAndConsts_end(); + ++keyAndCalibs) { + + vector values = (*keyAndCalibs).second; + if (values.size()<11) { + cout << "[DumpFileToDB] ***Error: Incorrect file format for VDriftDB to be stored in DTRecoConditions" << endl; + abort(); + } + int version = int(values[10]/1000); + int type = (int(values[10])%1000)/100; + int nfields = int(values[10])%100; + + if (type !=1) { + cout << "[DumpFileToDB] ***Error: input file is not for VDriftDB" << endl; + abort(); + } + conds->setVersion(version); + + if(values.size()!=unsigned(nfields+11)) { + cout << "[DumpFileToDB] ***Error: Inconsistent number of fields" << endl; + abort(); + } + + vector params(values.begin()+11, values.begin()+11+nfields); - cout << "[DumpFileToDB]Writing mtime object to DB!" << endl; - string record = "DTMtimeRcd"; - DTCalibDBUtils::writeToDB(record, mtime); + conds->set((*keyAndCalibs).first, params); + } + cout << "[DumpFileToDB]Writing DTRecoConditions object to DB!" << endl; + DTCalibDBUtils::writeToDB("DTRecoConditionsVdriftRcd", conds); + } + } else if(dbToDump == "TTrigDB") { // Write the TTrig // Create the object to be written to DB diff --git a/CalibMuon/DTCalibration/test/DBTools/DumpFileToDB.h b/CalibMuon/DTCalibration/test/DBTools/DumpFileToDB.h index 2ae07f821c8fe..84a33a93b457c 100644 --- a/CalibMuon/DTCalibration/test/DBTools/DumpFileToDB.h +++ b/CalibMuon/DTCalibration/test/DBTools/DumpFileToDB.h @@ -44,6 +44,8 @@ class DumpFileToDB : public edm::EDAnalyzer { std::string mapFileName; std::string dbToDump; + std::string format; + // sum the correction in the txt file (for the mean value) to what is input DB bool diffMode; const DTTtrig *tTrigMapOrig; diff --git a/CondCore/DTPlugins/src/plugin.cc b/CondCore/DTPlugins/src/plugin.cc index 6a5facdb4c8a6..015e3c18c726d 100644 --- a/CondCore/DTPlugins/src/plugin.cc +++ b/CondCore/DTPlugins/src/plugin.cc @@ -40,6 +40,10 @@ #include "CondCore/CondDB/interface/KeyListProxy.h" #include "CondFormats/DTObjects/interface/DTRecoUncertainties.h" #include "CondFormats/DataRecord/interface/DTRecoUncertaintiesRcd.h" +#include "CondFormats/DTObjects/interface/DTRecoConditions.h" +#include "CondFormats/DataRecord/interface/DTRecoConditionsTtrigRcd.h" +#include "CondFormats/DataRecord/interface/DTRecoConditionsVdriftRcd.h" +#include "CondFormats/DataRecord/interface/DTRecoConditionsUncertRcd.h" // #include "CondCore/CondDB/interface/Serialization.h" @@ -116,6 +120,9 @@ REGISTER_PLUGIN_INIT(DTLVStatusRcd,DTLVStatus,InitDTLVStatus); REGISTER_PLUGIN(DTKeyedConfigContainerRcd, cond::BaseKeyed); REGISTER_KEYLIST_PLUGIN(DTKeyedConfigListRcd,cond::persistency::KeyList,DTKeyedConfigContainerRcd); REGISTER_PLUGIN(DTRecoUncertaintiesRcd, DTRecoUncertainties); - +//New flexyble payloads for ttrig, vdrift, uncertainty +REGISTER_PLUGIN(DTRecoConditionsTtrigRcd, DTRecoConditions); +REGISTER_PLUGIN(DTRecoConditionsVdriftRcd, DTRecoConditions); +REGISTER_PLUGIN(DTRecoConditionsUncertRcd, DTRecoConditions); diff --git a/CondFormats/DTObjects/BuildFile.xml b/CondFormats/DTObjects/BuildFile.xml index 975e0897e44df..2aff25636bff8 100644 --- a/CondFormats/DTObjects/BuildFile.xml +++ b/CondFormats/DTObjects/BuildFile.xml @@ -5,6 +5,7 @@ + diff --git a/CondFormats/DTObjects/interface/DTRecoConditions.h b/CondFormats/DTObjects/interface/DTRecoConditions.h new file mode 100644 index 0000000000000..2d7ae464783f7 --- /dev/null +++ b/CondFormats/DTObjects/interface/DTRecoConditions.h @@ -0,0 +1,85 @@ +#ifndef CondFormats_DTObjects_DTRecoConditions_H +#define CondFormats_DTObjects_DTRecoConditions_H + +/** \class DTRecoConditions + * DB object for storing per-SL DT reconstruction parameters (ttrig, vdrift, uncertainties), + * possibly with their dependency from external quantities (like position, angle, etc.) + * + * Dependencies can be specified with the expression set by setFormula(string), representing: + * -a TFormula, e.g. "[0]+[1]*x", in the most general case; + * -special cases like "[0]" = fixed constant, that are implemented without calling TFormula. + * + * \author N. Amapane, G. Cerminara + */ + + +#include "CondFormats/Serialization/interface/Serializable.h" + +#include +#include +#include +#include + +class DTWireId; +class TFormula; + +class DTRecoConditions { +public: + typedef std::map >::const_iterator const_iterator; + + /// Constructor + DTRecoConditions(); + + /// Destructor + virtual ~DTRecoConditions(); + + void setVersion(int version) { + theVersion = version; + } + + /// Version numer specifying the structure of the payload. See .cc file for details. + int version() const { + return theVersion; + } + + /// Get the value correspoding to the given WireId, + //// using x[] as parameters of the parametrization when relevant + float get(const DTWireId& wireid, double* x=0) const; + + /// Set the expression representing the formula used for parametrization + void setFormulaExpr(const std::string& expr) { + expression=expr; + } + + std::string getFormulaExpr() const { + return expression; + } + + /// Fill the payload + void set(const DTWireId& wireid, const std::vector& values); + + /// Access the data + const_iterator begin() const; + const_iterator end() const; + +private: + + // The formula used for parametrization (transient pointer) + mutable TFormula* formula COND_TRANSIENT; + + // Formula evalaution strategy, derived from expression and cached for efficiency reasons + mutable int formulaType COND_TRANSIENT; + + // String with the expression representing the formula used for parametrization + std::string expression; + + // Actual data + std::map > payload; + + // Versioning + int theVersion; + + COND_SERIALIZABLE; +}; +#endif + diff --git a/CondFormats/DTObjects/src/DTRecoConditions.cc b/CondFormats/DTObjects/src/DTRecoConditions.cc new file mode 100644 index 0000000000000..c29a34bdb0372 --- /dev/null +++ b/CondFormats/DTObjects/src/DTRecoConditions.cc @@ -0,0 +1,77 @@ +/* + * See header file for a description of this class. + * + * \author N. Amapane, G. Cerminara + */ + +#include "CondFormats/DTObjects/interface/DTRecoConditions.h" +#include "DataFormats/MuonDetId/interface/DTWireId.h" +#include "FWCore/Utilities/interface/Exception.h" +#include +#include + +#include + +using std::string; +using std::map; +using std::vector; +using std::cout; +using std::endl; + + +DTRecoConditions::DTRecoConditions() : + formula(0), + formulaType(0), + expression("[0]") +{} + +DTRecoConditions::~DTRecoConditions(){ + delete formula; +} + + +float DTRecoConditions::get(const DTWireId& wireid, double* x) const { + + map >::const_iterator slIt = payload.find(wireid.superlayerId().rawId()); + if(slIt == payload.end()) { + throw cms::Exception("InvalidInput") << "The SLId: " << wireid.superlayerId() << " is not in the paylaod map"; + } + const vector& par = slIt->second; + + // Initialize if this is the first call + if (formulaType==0) { + if (expression=="[0]") { + formulaType = 1; + } else if (expression=="par[step]") { + formulaType = 2; + } else { + formulaType = 99; + formula = new TFormula("DTExpr",expression.c_str()); + } + } + + if (formulaType==1 || par.size()==1) { + // Return value is simply a constant. Assume this is the case also if only one parameter exists. + return par[0]; + } else if (formulaType==2) { + // Special case: par[i] represents the value for step i + return par[unsigned (x[0])]; + } else { + // Use the formula corresponding to expression. + return formula->EvalPar(x,par.data()); + } +} + + +void DTRecoConditions::set(const DTWireId& wireid, const std::vector& values) { + payload[wireid.superlayerId()] = values; +} + + +DTRecoConditions::const_iterator DTRecoConditions::begin() const { + return payload.begin(); +} + +DTRecoConditions::const_iterator DTRecoConditions::end() const { + return payload.end(); +} diff --git a/CondFormats/DTObjects/src/T_EventSetup_DTRecoConditions.cc b/CondFormats/DTObjects/src/T_EventSetup_DTRecoConditions.cc new file mode 100644 index 0000000000000..936ed49cd68ff --- /dev/null +++ b/CondFormats/DTObjects/src/T_EventSetup_DTRecoConditions.cc @@ -0,0 +1,5 @@ +// user include files +#include "CondFormats/DTObjects/interface/DTRecoConditions.h" +#include "FWCore/Utilities/interface/typelookup.h" + +TYPELOOKUP_DATA_REG(DTRecoConditions); diff --git a/CondFormats/DTObjects/src/classes.h b/CondFormats/DTObjects/src/classes.h index 544534cb0946b..9cef19a8ca6f8 100644 --- a/CondFormats/DTObjects/src/classes.h +++ b/CondFormats/DTObjects/src/classes.h @@ -51,6 +51,8 @@ namespace CondFormats_DTObjects { std::pair > p_payload; std::map > payload; + std::pair > p_payloadD; + std::map > payloadD; }; } diff --git a/CondFormats/DTObjects/src/classes_def.xml b/CondFormats/DTObjects/src/classes_def.xml index d7bb17f3db765..1457e60ff27c2 100644 --- a/CondFormats/DTObjects/src/classes_def.xml +++ b/CondFormats/DTObjects/src/classes_def.xml @@ -90,6 +90,12 @@ + + + + + + diff --git a/CondFormats/DTObjects/src/headers.h b/CondFormats/DTObjects/src/headers.h index 40511b2136149..6135292af347c 100644 --- a/CondFormats/DTObjects/src/headers.h +++ b/CondFormats/DTObjects/src/headers.h @@ -11,6 +11,8 @@ * DTHVStatus * DTCCBConfig * DTTPGParameters + * DTRecoUncertainties + * DTRecoConditions */ #include "CondFormats/DTObjects/interface/DTReadOutMapping.h" @@ -27,3 +29,4 @@ #include "CondFormats/DTObjects/interface/DTKeyedConfig.h" #include "CondFormats/DTObjects/interface/DTTPGParameters.h" #include "CondFormats/DTObjects/interface/DTRecoUncertainties.h" +#include "CondFormats/DTObjects/interface/DTRecoConditions.h" diff --git a/CondFormats/DTObjects/test/testSerializationDTObjects.cpp b/CondFormats/DTObjects/test/testSerializationDTObjects.cpp index a215c97d83eae..dac9c6d5eb3c0 100644 --- a/CondFormats/DTObjects/test/testSerializationDTObjects.cpp +++ b/CondFormats/DTObjects/test/testSerializationDTObjects.cpp @@ -30,6 +30,7 @@ int main() testSerialization(); testSerialization(); testSerialization(); + testSerialization(); testSerialization(); testSerialization(); testSerialization(); diff --git a/CondFormats/DataRecord/interface/DTRecoConditionsTtrigRcd.h b/CondFormats/DataRecord/interface/DTRecoConditionsTtrigRcd.h new file mode 100644 index 0000000000000..58a70be0c50d1 --- /dev/null +++ b/CondFormats/DataRecord/interface/DTRecoConditionsTtrigRcd.h @@ -0,0 +1,6 @@ +#ifndef DTRecoConditionsTtrigRcd_H +#define DTRecoConditionsTtrigRcd_H + +#include "FWCore/Framework/interface/EventSetupRecordImplementation.h" +class DTRecoConditionsTtrigRcd : public edm::eventsetup::EventSetupRecordImplementation {}; +#endif diff --git a/CondFormats/DataRecord/interface/DTRecoConditionsUncertRcd.h b/CondFormats/DataRecord/interface/DTRecoConditionsUncertRcd.h new file mode 100644 index 0000000000000..84b04c47586d1 --- /dev/null +++ b/CondFormats/DataRecord/interface/DTRecoConditionsUncertRcd.h @@ -0,0 +1,6 @@ +#ifndef DTRecoConditionsUncertRcd_H +#define DTRecoConditionsUncertRcd_H + +#include "FWCore/Framework/interface/EventSetupRecordImplementation.h" +class DTRecoConditionsUncertRcd : public edm::eventsetup::EventSetupRecordImplementation {}; +#endif diff --git a/CondFormats/DataRecord/interface/DTRecoConditionsVdriftRcd.h b/CondFormats/DataRecord/interface/DTRecoConditionsVdriftRcd.h new file mode 100644 index 0000000000000..7f22c393e64f3 --- /dev/null +++ b/CondFormats/DataRecord/interface/DTRecoConditionsVdriftRcd.h @@ -0,0 +1,6 @@ +#ifndef DTRecoConditionsVdriftRcd_H +#define DTRecoConditionsVdriftRcd_H + +#include "FWCore/Framework/interface/EventSetupRecordImplementation.h" +class DTRecoConditionsVdriftRcd : public edm::eventsetup::EventSetupRecordImplementation {}; +#endif diff --git a/CondFormats/DataRecord/src/DTRecoConditionsTtrigRcd.cc b/CondFormats/DataRecord/src/DTRecoConditionsTtrigRcd.cc new file mode 100644 index 0000000000000..ebc10f9f677e5 --- /dev/null +++ b/CondFormats/DataRecord/src/DTRecoConditionsTtrigRcd.cc @@ -0,0 +1,4 @@ +#include "CondFormats/DataRecord/interface/DTRecoConditionsTtrigRcd.h" +#include "FWCore/Framework/interface/eventsetuprecord_registration_macro.h" + +EVENTSETUP_RECORD_REG(DTRecoConditionsTtrigRcd); diff --git a/CondFormats/DataRecord/src/DTRecoConditionsUncertRcd.cc b/CondFormats/DataRecord/src/DTRecoConditionsUncertRcd.cc new file mode 100644 index 0000000000000..26d78bb8d9bed --- /dev/null +++ b/CondFormats/DataRecord/src/DTRecoConditionsUncertRcd.cc @@ -0,0 +1,4 @@ +#include "CondFormats/DataRecord/interface/DTRecoConditionsUncertRcd.h" +#include "FWCore/Framework/interface/eventsetuprecord_registration_macro.h" + +EVENTSETUP_RECORD_REG(DTRecoConditionsUncertRcd); diff --git a/CondFormats/DataRecord/src/DTRecoConditionsVdriftRcd.cc b/CondFormats/DataRecord/src/DTRecoConditionsVdriftRcd.cc new file mode 100644 index 0000000000000..e30064e00775e --- /dev/null +++ b/CondFormats/DataRecord/src/DTRecoConditionsVdriftRcd.cc @@ -0,0 +1,4 @@ +#include "CondFormats/DataRecord/interface/DTRecoConditionsVdriftRcd.h" +#include "FWCore/Framework/interface/eventsetuprecord_registration_macro.h" + +EVENTSETUP_RECORD_REG(DTRecoConditionsVdriftRcd);