Skip to content

Commit

Permalink
Merge pull request #27029 from cms-sw/code-format-reconstruction-93b081
Browse files Browse the repository at this point in the history
Running code-format for reconstruction
  • Loading branch information
cmsbuild committed Jun 1, 2019
2 parents efe593a + 38393ac commit f6e0d5c
Show file tree
Hide file tree
Showing 212 changed files with 8,808 additions and 9,746 deletions.
38 changes: 13 additions & 25 deletions MagneticField/GeomBuilder/plugins/AutoMagneticFieldESProducer.cc
Expand Up @@ -26,26 +26,19 @@ using namespace std;
using namespace edm;
using namespace magneticfield;


AutoMagneticFieldESProducer::AutoMagneticFieldESProducer(const edm::ParameterSet& iConfig) : pset(iConfig) {
setWhatProduced(this, pset.getUntrackedParameter<std::string>("label",""));
nominalCurrents = pset.getUntrackedParameter<vector<int> >("nominalCurrents");
setWhatProduced(this, pset.getUntrackedParameter<std::string>("label", ""));
nominalCurrents = pset.getUntrackedParameter<vector<int> >("nominalCurrents");
maps = pset.getUntrackedParameter<vector<string> >("mapLabels");

if (maps.empty() || (maps.size() != nominalCurrents.size())) {
throw cms::Exception("InvalidParameter") << "Invalid values for parameters \"nominalCurrents\" and \"maps\"";
}
}

AutoMagneticFieldESProducer::~AutoMagneticFieldESProducer() {}

AutoMagneticFieldESProducer::~AutoMagneticFieldESProducer()
{
}


std::unique_ptr<MagneticField>
AutoMagneticFieldESProducer::produce(const IdealMagneticFieldRecord& iRecord)
{
std::unique_ptr<MagneticField> AutoMagneticFieldESProducer::produce(const IdealMagneticFieldRecord& iRecord) {
float current = pset.getParameter<int>("valueOverride");

string message;
Expand All @@ -59,33 +52,28 @@ AutoMagneticFieldESProducer::produce(const IdealMagneticFieldRecord& iRecord)
message = " (from valueOverride card)";
}

string model = closerModel(current);

edm::LogInfo("MagneticField|AutoMagneticField") << "Current: " << current << message << "; using map with label: " << model;
string model = closerModel(current);

edm::LogInfo("MagneticField|AutoMagneticField")
<< "Current: " << current << message << "; using map with label: " << model;

edm::ESHandle<MagneticField> map;
iRecord.get(model,map);

iRecord.get(model, map);

MagneticField* result = map.product()->clone();

return std::unique_ptr<MagneticField>(result);
}


std::string AutoMagneticFieldESProducer::closerModel(float current) {
int i=0;
for(;i<(int)maps.size()-1;i++) {
if(2*current < nominalCurrents[i]+nominalCurrents[i+1] )
int i = 0;
for (; i < (int)maps.size() - 1; i++) {
if (2 * current < nominalCurrents[i] + nominalCurrents[i + 1])
return maps[i];
}
return maps[i];
return maps[i];
}



#include "FWCore/Framework/interface/ModuleFactory.h"
DEFINE_FWK_EVENTSETUP_MODULE(AutoMagneticFieldESProducer);


Expand Up @@ -19,19 +19,19 @@
class IdealMagneticFieldRecord;

namespace magneticfield {
class AutoMagneticFieldESProducer : public edm::ESProducer
{
class AutoMagneticFieldESProducer : public edm::ESProducer {
public:
AutoMagneticFieldESProducer(const edm::ParameterSet&);
~AutoMagneticFieldESProducer() override;

std::unique_ptr<MagneticField> produce(const IdealMagneticFieldRecord&);
edm::ParameterSet pset;

private:
std::string closerModel(float current);
std::vector<int> nominalCurrents;
std::vector<std::string> maps;
};
}
} // namespace magneticfield

#endif
Expand Up @@ -27,14 +27,13 @@
using namespace std;
using namespace magneticfield;

VolumeBasedMagneticFieldESProducer::VolumeBasedMagneticFieldESProducer(const edm::ParameterSet& iConfig) : pset(iConfig)
{
setWhatProduced(this, pset.getUntrackedParameter<std::string>("label",""));
VolumeBasedMagneticFieldESProducer::VolumeBasedMagneticFieldESProducer(const edm::ParameterSet& iConfig)
: pset(iConfig) {
setWhatProduced(this, pset.getUntrackedParameter<std::string>("label", ""));
}

// ------------ method called to produce the data ------------
std::unique_ptr<MagneticField> VolumeBasedMagneticFieldESProducer::produce(const IdealMagneticFieldRecord & iRecord)
{
std::unique_ptr<MagneticField> VolumeBasedMagneticFieldESProducer::produce(const IdealMagneticFieldRecord& iRecord) {
bool debug = pset.getUntrackedParameter<bool>("debugBuilder", false);
if (debug) {
cout << "VolumeBasedMagneticFieldESProducer::produce() " << pset.getParameter<std::string>("version") << endl;
Expand All @@ -43,33 +42,36 @@ std::unique_ptr<MagneticField> VolumeBasedMagneticFieldESProducer::produce(const
MagFieldConfig conf(pset, debug);

edm::ESTransientHandle<DDCompactView> cpv;
iRecord.get("magfield",cpv );
MagGeoBuilderFromDDD builder(conf.version,
conf.geometryVersion,
debug);
iRecord.get("magfield", cpv);
MagGeoBuilderFromDDD builder(conf.version, conf.geometryVersion, debug);

// Set scaling factors
if (!conf.keys.empty()) {
builder.setScaling(conf.keys, conf.values);
}

// Set specification for the grid tables to be used.
if (!conf.gridFiles.empty()) {
builder.setGridFiles(conf.gridFiles);
}

builder.build(*cpv);

// Get slave field (from ES)
edm::ESHandle<MagneticField> paramField;
if (pset.getParameter<bool>("useParametrizedTrackerField")) {;
iRecord.get(pset.getParameter<string>("paramLabel"),paramField);
if (pset.getParameter<bool>("useParametrizedTrackerField")) {
;
iRecord.get(pset.getParameter<string>("paramLabel"), paramField);
}
return std::make_unique<VolumeBasedMagneticField>(conf.geometryVersion,builder.barrelLayers(), builder.endcapSectors(), builder.barrelVolumes(), builder.endcapVolumes(), builder.maxR(), builder.maxZ(), paramField.product(), false);
return std::make_unique<VolumeBasedMagneticField>(conf.geometryVersion,
builder.barrelLayers(),
builder.endcapSectors(),
builder.barrelVolumes(),
builder.endcapVolumes(),
builder.maxR(),
builder.maxZ(),
paramField.product(),
false);
}





DEFINE_FWK_EVENTSETUP_MODULE(VolumeBasedMagneticFieldESProducer);
Expand Up @@ -21,8 +21,8 @@ namespace magneticfield {
class VolumeBasedMagneticFieldESProducer : public edm::ESProducer {
public:
VolumeBasedMagneticFieldESProducer(const edm::ParameterSet& iConfig);
std::unique_ptr<MagneticField> produce(const IdealMagneticFieldRecord & iRecord);

std::unique_ptr<MagneticField> produce(const IdealMagneticFieldRecord& iRecord);

private:
// forbid copy ctor and assignment op.
Expand All @@ -31,7 +31,6 @@ namespace magneticfield {

edm::ParameterSet pset;
};
}

} // namespace magneticfield

#endif
Expand Up @@ -51,8 +51,8 @@ namespace magneticfield {
class VolumeBasedMagneticFieldESProducerFromDB : public edm::ESProducer {
public:
VolumeBasedMagneticFieldESProducerFromDB(const edm::ParameterSet& iConfig);
std::unique_ptr<MagneticField> produce(const IdealMagneticFieldRecord & iRecord);

std::unique_ptr<MagneticField> produce(const IdealMagneticFieldRecord& iRecord);

private:
// forbid copy ctor and assignment op.
Expand All @@ -63,24 +63,19 @@ namespace magneticfield {
edm::ParameterSet pset;
std::vector<int> nominalCurrents;
std::vector<std::string> nominalLabels;

};
}
} // namespace magneticfield


VolumeBasedMagneticFieldESProducerFromDB::VolumeBasedMagneticFieldESProducerFromDB(const edm::ParameterSet& iConfig) : pset(iConfig)
{
setWhatProduced(this, pset.getUntrackedParameter<std::string>("label",""));
nominalCurrents={-1, 0,9558,14416,16819,18268,19262};
nominalLabels ={"3.8T","0T","2T", "3T", "3.5T", "3.8T", "4T"};
VolumeBasedMagneticFieldESProducerFromDB::VolumeBasedMagneticFieldESProducerFromDB(const edm::ParameterSet& iConfig)
: pset(iConfig) {
setWhatProduced(this, pset.getUntrackedParameter<std::string>("label", ""));
nominalCurrents = {-1, 0, 9558, 14416, 16819, 18268, 19262};
nominalLabels = {"3.8T", "0T", "2T", "3T", "3.5T", "3.8T", "4T"};
}



// ------------ method called to produce the data ------------
std::unique_ptr<MagneticField> VolumeBasedMagneticFieldESProducerFromDB::produce(const IdealMagneticFieldRecord & iRecord)
{

std::unique_ptr<MagneticField> VolumeBasedMagneticFieldESProducerFromDB::produce(
const IdealMagneticFieldRecord& iRecord) {
bool debug = pset.getUntrackedParameter<bool>("debugBuilder", false);

// Get value of the current from condition DB
Expand All @@ -94,45 +89,43 @@ std::unique_ptr<MagneticField> VolumeBasedMagneticFieldESProducerFromDB::produce
} else {
message = " (from valueOverride card)";
}
string configLabel = closerNominalLabel(current);
string configLabel = closerNominalLabel(current);

// Get configuration
ESHandle<MagFieldConfig> confESH;
iRecord.getRecord<MagFieldConfigRcd>().get(configLabel, confESH);
const MagFieldConfig* conf = &*confESH;

edm::LogInfo("MagneticField|AutoMagneticField") << "Current: " << current << message << "; using map configuration with label: " << configLabel << endl
<< "Version: " << conf->version
<< " geometryVersion: " << conf->geometryVersion
<< " slaveFieldVersion: " << conf->slaveFieldVersion;
edm::LogInfo("MagneticField|AutoMagneticField")
<< "Current: " << current << message << "; using map configuration with label: " << configLabel << endl
<< "Version: " << conf->version << " geometryVersion: " << conf->geometryVersion
<< " slaveFieldVersion: " << conf->slaveFieldVersion;

// Get the parametrized field
std::unique_ptr<MagneticField> paramField = ParametrizedMagneticFieldFactory::get(conf->slaveFieldVersion, conf->slaveFieldParameters);

std::unique_ptr<MagneticField> paramField =
ParametrizedMagneticFieldFactory::get(conf->slaveFieldVersion, conf->slaveFieldParameters);

if (conf->version == "parametrizedMagneticField") {
// The map consist of only the parametrization in this case
return paramField;
} else {
// Full VolumeBased map + parametrization
MagGeoBuilderFromDDD builder(conf->version,
conf->geometryVersion,
debug);
MagGeoBuilderFromDDD builder(conf->version, conf->geometryVersion, debug);

// Set scaling factors
if (!conf->keys.empty()) {
builder.setScaling(conf->keys, conf->values);
}

// Set specification for the grid tables to be used.
if (!conf->gridFiles.empty()) {
builder.setGridFiles(conf->gridFiles);
}

// Build the geomeytry (DDDCompactView) from the DB blob
// (code taken from GeometryReaders/XMLIdealGeometryESSource/src/XMLIdealMagneticFieldGeometryESProducer.cc)
// (code taken from GeometryReaders/XMLIdealGeometryESSource/src/XMLIdealMagneticFieldGeometryESProducer.cc)
edm::ESTransientHandle<FileBlob> gdd;
iRecord.getRecord<MFGeometryFileRcd>().get( std::to_string(conf->geometryVersion), gdd );
iRecord.getRecord<MFGeometryFileRcd>().get(std::to_string(conf->geometryVersion), gdd);

auto cpv = std::make_unique<DDCompactView>(DDName("cmsMagneticField:MAGF"));
DDLParser parser(*cpv);
Expand All @@ -141,24 +134,29 @@ std::unique_ptr<MagneticField> VolumeBasedMagneticFieldESProducerFromDB::produce
std::unique_ptr<std::vector<unsigned char> > tb = (*gdd).getUncompressedBlob();
parser.parse(*tb, tb->size());
cpv->lockdown();

builder.build(*cpv);

// Build the VB map. Ownership of the parametrization is transferred to it
return std::make_unique<VolumeBasedMagneticField>(conf->geometryVersion,builder.barrelLayers(), builder.endcapSectors(), builder.barrelVolumes(), builder.endcapVolumes(), builder.maxR(), builder.maxZ(), paramField.release(), true);
return std::make_unique<VolumeBasedMagneticField>(conf->geometryVersion,
builder.barrelLayers(),
builder.endcapSectors(),
builder.barrelVolumes(),
builder.endcapVolumes(),
builder.maxR(),
builder.maxZ(),
paramField.release(),
true);
}
}


std::string VolumeBasedMagneticFieldESProducerFromDB::closerNominalLabel(float current) {

int i=0;
for(;i<(int)nominalLabels.size()-1;i++) {
if(2*current < nominalCurrents[i]+nominalCurrents[i+1] )
int i = 0;
for (; i < (int)nominalLabels.size() - 1; i++) {
if (2 * current < nominalCurrents[i] + nominalCurrents[i + 1])
return nominalLabels[i];
}
return nominalLabels[i];
}


DEFINE_FWK_EVENTSETUP_MODULE(VolumeBasedMagneticFieldESProducerFromDB);
22 changes: 10 additions & 12 deletions MagneticField/GeomBuilder/src/FakeInterpolator.h
Expand Up @@ -8,18 +8,16 @@
* \author N. Amapane - CERN
*/

#include "MagneticField/Interpolation/interface/MagProviderInterpol.h"
#include "MagneticField/Interpolation/interface/MagProviderInterpol.h"

namespace magneticfield {
class FakeInterpolator : public MagProviderInterpol {
public:
/// Constructor
FakeInterpolator() {};

// Operations
LocalVectorType valueInTesla( const LocalPointType& p) const override {
return LocalVectorType(0.,0.,0.);
}
};
}
class FakeInterpolator : public MagProviderInterpol {
public:
/// Constructor
FakeInterpolator(){};

// Operations
LocalVectorType valueInTesla(const LocalPointType& p) const override { return LocalVectorType(0., 0., 0.); }
};
} // namespace magneticfield
#endif

0 comments on commit f6e0d5c

Please sign in to comment.