Skip to content

Commit

Permalink
Recover merging process
Browse files Browse the repository at this point in the history
  • Loading branch information
Sunanda committed Aug 18, 2016
1 parent af843c4 commit ce1cb26
Show file tree
Hide file tree
Showing 12 changed files with 150 additions and 10 deletions.
105 changes: 101 additions & 4 deletions CalibCalorimetry/HcalAlgos/src/HcalDbASCIIIO.cc
Expand Up @@ -594,8 +594,8 @@ bool HcalDbASCIIIO::getObject (std::istream& fInput, HcalLongRecoParams* fObject
continue;
}
if (items.size() > 7) {
edm::LogWarning("Format Problem ?") << "Check line: " << buffer << "\n line must contain 6 items: eta, phi, depth, subdet, signalTSs, noiseTSs. "
<< "\n ! signalTS and noiseTS must be of format <ts1,ts2,ts3,...> withOUT spaces. Ignoring line for safety" << std::endl;
edm::LogWarning("Format Error") << "Check line: " << buffer << "\n line must contain 6 items: eta, phi, depth, subdet, signalTSs, noiseTSs. "
<< "\n ! signalTS and noiseTS must be of format <ts1,ts2,ts3,...> withOUT spaces. Ignoring line for safety" << std::endl;
continue;
}
DetId id = HcalDbASCIIIO::getId (items);
Expand Down Expand Up @@ -749,6 +749,7 @@ bool HcalDbASCIIIO::getObject (std::istream& fInput, HcalMCParams* fObject)
}
return true;
}

bool HcalDbASCIIIO::dumpObject (std::ostream& fOutput, const HcalMCParams& fObject)
{
char buffer [1024];
Expand Down Expand Up @@ -1843,7 +1844,7 @@ bool HcalDbASCIIIO::getObject (std::istream& fInput, HcalFrontEndMap* fObject) {
if (buffer [0] == '#') continue; //ignore comment
std::vector <std::string> items = splitString (std::string (buffer));
if (items.size () != 6) {
edm::LogError("MapFormat") << "HcalFrontEndMap-> line ignored: " << buffer;
edm::LogError("Format Error") << "HcalFrontEndMap-> line ignored: " << buffer;
continue;
}
++good;
Expand Down Expand Up @@ -1886,7 +1887,7 @@ bool HcalDbASCIIIO::getObject (std::istream& fInput, HcalSiPMParameters* fObject
std::vector <std::string> items = splitString (std::string (buffer));
if (items.size()==0) continue; // blank line
if (items.size () < 9) {
edm::LogWarning("Format Error") << "Bad line: " << buffer << "\n line must contain 8 items: eta, phi, depth, subdet, 5x values" << std::endl;
edm::LogWarning("Format Error") << "Bad line: " << buffer << "\n line must contain 9 items: eta, phi, depth, subdet, 5x values" << std::endl;
continue;
}
DetId id = HcalDbASCIIIO::getId (items);
Expand Down Expand Up @@ -1982,3 +1983,99 @@ bool HcalDbASCIIIO::dumpObject (std::ostream& fOutput, const HcalSiPMCharacteris
}
return true;
}


// >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
bool HcalDbASCIIIO::getObject (std::istream& fInput, HcalTPChannelParameters* fObject) {
if (!fObject) return false;
char buffer [1024];
while (fInput.getline(buffer, 1024)) {
if (buffer [0] == '#') continue; //ignore comment
std::vector <std::string> items = splitString (std::string (buffer));
if (items.size()==0) continue; // blank line
if (items.size () < 8) {
edm::LogWarning("Format Error") << "Bad line: " << buffer << "\n line must contain 8 items: eta, phi, depth, subdet, 4x values" << std::endl;
continue;
}
DetId id = HcalDbASCIIIO::getId (items);

HcalTPChannelParameter* obj = new HcalTPChannelParameter(id.rawId(),
atoi(items[4].c_str()),
atoi(items[5].c_str()),
atoi(items[6].c_str()),
atoi(items[7].c_str()));
fObject->addValues(*obj);
delete obj;
}
return true;
}

bool HcalDbASCIIIO::dumpObject (std::ostream& fOutput, const HcalTPChannelParameters& fObject) {

char buffer [1024];
sprintf (buffer, "# %15s %15s %15s %15s %15s %15s %15s %15s\n",
"eta", "phi", "dep", "det", "Mask", "FGBitInfo", "auxi1", "auxi2");
fOutput << buffer;
std::vector<DetId> channels = fObject.getAllChannels ();
std::sort (channels.begin(), channels.end(), DetIdLess ());
for (std::vector<DetId>::iterator channel = channels.begin ();
channel != channels.end ();
++channel) {
const uint32_t mask = fObject.getValues(*channel)->getMask();
const uint32_t fgBitInfo = fObject.getValues(*channel)->getFGBitInfo();
const int auxi1 = fObject.getValues(*channel)->getauxi1();
const int auxi2 = fObject.getValues(*channel)->getauxi2();
HcalDbASCIIIO::dumpId (fOutput, *channel);
sprintf (buffer, " %15d %15d %15d %15d \n", mask, fgBitInfo, auxi1, auxi2);
fOutput << buffer;
}
return true;
}


// >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
bool HcalDbASCIIIO::getObject (std::istream& fInput, HcalTPParameters* fObject) {
char buffer [1024];
unsigned int all(0), good(0);
while (fInput.getline(buffer, 1024)) {
++all;
if (buffer [0] == '#') continue; //ignore comment
std::vector <std::string> items = splitString (std::string (buffer));
if (items.size () != 6) {
edm::LogError("Format Error") << "HcalTPParameters-> line ignored: " << buffer;
continue;
}
++good;
// std::cout << "HcalTPParameters-> processing line: " << buffer << std::endl;
int version = atoi (items [0].c_str());
int adcCut = atoi (items [1].c_str());
int tdcMask = atoi (items [2].c_str());
int tbits = atoi (items [3].c_str());
int auxi1 = atoi (items [4].c_str());
int auxi2 = atof (items [5].c_str());
fObject->loadObject (version, adcCut, tdcMask, tbits, auxi1, auxi2);
break;
}
edm::LogInfo("MapFormat") << "HcalTPParameters:: processed " << good << " records in " << all << " record" << std::endl;
return true;
}

bool HcalDbASCIIIO::dumpObject (std::ostream& fOutput, const HcalTPParameters& fObject) {

char buffer [1024];
sprintf (buffer, "# %15s %15s %15s %15s %15s %15s\n", "FGAlgo_HBHE",
"ADCThrHF", "TDCMaskHF", "STBitsHF", "auxi1", "auxi2");
fOutput << buffer;

const int version = fObject.getFGVersionHBHE();
const int adcCut = fObject.getADCThresholdHF();
const uint32_t tdcMask = fObject.getTDCMaskHF();
const uint32_t tbits = fObject.getHFTriggerInfo();
const int auxi1 = fObject.getAuxi1();
const int auxi2 = fObject.getAuxi2();
sprintf (buffer, " %15d %15d %15d %15d %15d %15d\n", version, adcCut,
tdcMask, tbits, auxi1, auxi2);
fOutput << buffer;

return true;
}
10 changes: 9 additions & 1 deletion CalibCalorimetry/HcalAlgos/src/HcalDbHardcode.cc
Expand Up @@ -783,10 +783,18 @@ void HcalDbHardcode::makeHardcodeFrontEndMap(HcalFrontEndMap& emap, const std::v
emap.sort();
}


HcalSiPMParameter HcalDbHardcode::makeHardcodeSiPMParameter (HcalGenericDetId fId) {
return HcalSiPMParameter(fId.rawId(), 0, 0, 0, 0, 0);
}

void HcalDbHardcode::makeHardcodeSiPMCharacteristics (HcalSiPMCharacteristics& sipm) {
sipm.loadObject(0,0,0,0,0,0,0,0);
}

HcalTPChannelParameter HcalDbHardcode::makeHardcodeTPChannelParameter (HcalGenericDetId fId) {
return HcalTPChannelParameter(fId.rawId(), 0, 0, 0, 0);
}

void HcalDbHardcode::makeHardcodeTPParameters (HcalTPParameters& tppar) {
tppar.loadObject(0,0,0,0,0,0);
}
2 changes: 2 additions & 0 deletions CondCore/HcalPlugins/src/plugin.cc
Expand Up @@ -72,3 +72,5 @@ REGISTER_PLUGIN(HcalInterpolatedPulseCollRcd,HcalInterpolatedPulseColl);
REGISTER_PLUGIN(HBHENegativeEFilterRcd,HBHENegativeEFilter);
REGISTER_PLUGIN(HcalSiPMParametersRcd,HcalSiPMParameters);
REGISTER_PLUGIN(HcalSiPMCharacteristicsRcd,HcalSiPMCharacteristics);
REGISTER_PLUGIN(HcalTPParametersRcd,HcalTPParameters);
REGISTER_PLUGIN(HcalTPChannelParametersRcd,HcalTPChannelParameters);
2 changes: 2 additions & 0 deletions CondCore/Utilities/src/CondDBFetch.cc
Expand Up @@ -160,6 +160,8 @@ namespace cond {
FETCH_PAYLOAD_CASE( HcalRecoParams )
FETCH_PAYLOAD_CASE( HcalRespCorrs )
FETCH_PAYLOAD_CASE( HcalTimeCorrs )
FETCH_PAYLOAD_CASE( HcalTPChannelParameters )
FETCH_PAYLOAD_CASE( HcalTPParameters )
FETCH_PAYLOAD_CASE( HcalZSThresholds )
FETCH_PAYLOAD_CASE( HcalInterpolatedPulseColl )
FETCH_PAYLOAD_CASE( OOTPileupCorrectionBuffer )
Expand Down
2 changes: 2 additions & 0 deletions CondCore/Utilities/src/CondDBImport.cc
Expand Up @@ -174,6 +174,8 @@ namespace cond {
IMPORT_PAYLOAD_CASE( HcalSiPMCharacteristics )
IMPORT_PAYLOAD_CASE( HcalSiPMParameters )
IMPORT_PAYLOAD_CASE( HcalTimeCorrs )
IMPORT_PAYLOAD_CASE( HcalTPChannelParameters )
IMPORT_PAYLOAD_CASE( HcalTPParameters )
IMPORT_PAYLOAD_CASE( HcalZSThresholds )
IMPORT_PAYLOAD_CASE( HcalInterpolatedPulseColl )
IMPORT_PAYLOAD_CASE( JetCorrectorParametersCollection )
Expand Down
2 changes: 2 additions & 0 deletions CondCore/Utilities/src/CondFormats.h
Expand Up @@ -199,6 +199,8 @@
#include "CondFormats/HcalObjects/interface/HcalSiPMParameters.h"
#include "CondFormats/HcalObjects/interface/HcalSiPMCharacteristics.h"
#include "CondFormats/HcalObjects/interface/HcalTimeCorrs.h"
#include "CondFormats/HcalObjects/interface/HcalTPParameters.h"
#include "CondFormats/HcalObjects/interface/HcalTPChannelParameters.h"
#include "CondFormats/HcalObjects/interface/HcalZSThresholds.h"
#include "CondFormats/L1TObjects/interface/L1CaloGeometry.h"
#include "CondFormats/L1TObjects/interface/L1GctJetFinderParams.h"
Expand Down
2 changes: 2 additions & 0 deletions CondFormats/DataRecord/interface/HcalAllRcds.h
Expand Up @@ -21,6 +21,8 @@
#include "CondFormats/DataRecord/interface/HcalZSThresholdsRcd.h"
#include "CondFormats/DataRecord/interface/HcalValidationCorrsRcd.h"
#include "CondFormats/DataRecord/interface/HcalLutMetadataRcd.h"
#include "CondFormats/DataRecord/interface/HcalTPParametersRcd.h"
#include "CondFormats/DataRecord/interface/HcalTPChannelParametersRcd.h"
#include "CondFormats/DataRecord/interface/HcalDcsRcd.h"
#include "CondFormats/DataRecord/interface/HcalDcsMapRcd.h"
#include "CondFormats/DataRecord/interface/HcalRecoParamsRcd.h"
Expand Down
2 changes: 2 additions & 0 deletions CondFormats/HcalObjects/interface/AllObjects.h
Expand Up @@ -35,4 +35,6 @@
#include "CondFormats/HcalObjects/interface/HcalFrontEndMap.h"
#include "CondFormats/HcalObjects/interface/HcalSiPMParameters.h"
#include "CondFormats/HcalObjects/interface/HcalSiPMCharacteristics.h"
#include "CondFormats/HcalObjects/interface/HcalTPParameters.h"
#include "CondFormats/HcalObjects/interface/HcalTPChannelParameters.h"
#endif
4 changes: 2 additions & 2 deletions CondFormats/HcalObjects/interface/HcalRecoParams.h
@@ -1,5 +1,5 @@
#ifndef HcalRecoParams_h
#define HcalRecoParams_h
#ifndef CondFormatsHcalObjectsHcalRecoParams_h
#define CondFormatsHcalObjectsHcalRecoParams_h


#include "CondFormats/Serialization/interface/Serializable.h"
Expand Down
5 changes: 5 additions & 0 deletions CondFormats/HcalObjects/src/classes.h
Expand Up @@ -91,6 +91,11 @@ namespace CondFormats_HcalObjects {

HcalSiPMCharacteristics mySiPMCharacteristics;
std::vector<HcalSiPMCharacteristics::PrecisionItem> mySiPMCharacteristicvec;

HcalTPParameters myTPParameters;

HcalTPChannelParameters myTPChannelParameters();
std::vector<HcalTPChannelParameter> myTPChannelParametervec;

// OOT pileup correction objects
std::map<std::string, AbsOOTPileupCorrection*> myInnerMap;
Expand Down
17 changes: 17 additions & 0 deletions CondFormats/HcalObjects/src/classes_def.xml
Expand Up @@ -404,6 +404,23 @@
</class>
<class name="HcalMCParams" class_version="0"/>

<class name="std::vector<HcalTPChannelParameter>"/>
<class name="std::pair<std::string, std::vector<HcalTPChannelParameter> >"/>
<class name="std::vector<std::pair<std::string, std::vector<HcalTPChannelParameter> > >"/>
<class name="HcalCondObjectContainer<HcalTPChannelParameter>">
<field name="HBcontainer" mapping="blob" />
<field name="HEcontainer" mapping="blob" />
<field name="HFcontainer" mapping="blob" />
<field name="HOcontainer" mapping="blob" />
<field name="HTcontainer" mapping="blob" />
<field name="ZDCcontainer" mapping="blob" />
<field name="CALIBcontainer" mapping="blob" />
<field name="CASTORcontainer" mapping="blob" />
</class>
<class name="HcalTPChannelParameters"/>

<class name="HcalTPParameters"/>

<class name="HcalFlagHFDigiTimeParam"/>
<class name="std::vector<HcalFlagHFDigiTimeParam>"/>
<class name="std::pair<std::string, std::vector<HcalFlagHFDigiTimeParam> >"/>
Expand Down
7 changes: 4 additions & 3 deletions CondTools/Hcal/plugins/HcalDumpConditions.cc
Expand Up @@ -163,13 +163,14 @@ namespace edmtest
dumpIt(new HcalMCParams(&(*topology)), new HcalMCParamsRcd, e,context,"MCParams", topo);
if (std::find (mDumpRequest.begin(), mDumpRequest.end(), std::string ("FlagHFDigiTimeParams")) != mDumpRequest.end())
dumpIt(new HcalFlagHFDigiTimeParams(&(*topology)), new HcalFlagHFDigiTimeParamsRcd, e,context,"FlagHFDigiTimeParams", topo);
/*
if (std::find (mDumpRequest.begin(), mDumpRequest.end(), std::string ("SiPMParameters")) != mDumpRequest.end())
dumpIt(new HcalSiPMParameters(&(*topology)), new HcalSiPMParametersRcd, e,context,"SiPMParameters", topo);
if (std::find (mDumpRequest.begin(), mDumpRequest.end(), std::string ("SiPMCharacteristics")) != mDumpRequest.end())
dumpIt(new HcalSiPMCharacteristics, new HcalSiPMCharacteristicsRcd, e,context,"SiPMCharacteristics");
*/

if (std::find (mDumpRequest.begin(), mDumpRequest.end(), std::string ("TPChannelParameters")) != mDumpRequest.end())
dumpIt(new HcalTPChannelParameters(&(*topology)), new HcalTPChannelParametersRcd, e,context,"TPChannelParameters", topo);
if (std::find (mDumpRequest.begin(), mDumpRequest.end(), std::string ("TPParameters")) != mDumpRequest.end())
dumpIt(new HcalTPParameters, new HcalTPParametersRcd, e,context,"TPParameters");
}
DEFINE_FWK_MODULE(HcalDumpConditions);
}

0 comments on commit ce1cb26

Please sign in to comment.