Skip to content

Commit

Permalink
scram b code-format and scram b code-checks
Browse files Browse the repository at this point in the history
  • Loading branch information
fabiocos committed Nov 16, 2019
1 parent 5b90fc4 commit 8de4fbc
Showing 1 changed file with 76 additions and 65 deletions.
141 changes: 76 additions & 65 deletions Geometry/MTDCommonData/test/DD4hep_TestMTDPosition.cc
Expand Up @@ -45,7 +45,7 @@ class DD4hep_TestMTDPosition : public edm::one::EDAnalyzer<> {
void analyze(edm::Event const&, edm::EventSetup const&) override;
void endJob() override {}

void theBaseNumber(const std::vector<std::pair<std::string_view,uint32_t>>& gh);
void theBaseNumber(const std::vector<std::pair<std::string_view, uint32_t>>& gh);

private:
const edm::ESInputTag tag_;
Expand All @@ -57,20 +57,19 @@ class DD4hep_TestMTDPosition : public edm::one::EDAnalyzer<> {
ETLNumberingScheme etlNS_;
};

using DD3Vector = ROOT::Math::DisplacementVector3D<ROOT::Math::Cartesian3D<double> >;
using DD3Vector = ROOT::Math::DisplacementVector3D<ROOT::Math::Cartesian3D<double>>;
using angle_units::operators::convertRadToDeg;
using geant_units::operators::convertCmToMm;

DD4hep_TestMTDPosition::DD4hep_TestMTDPosition(const edm::ParameterSet& iConfig)
: tag_(iConfig.getParameter<edm::ESInputTag>("DDDetector")),
fname_(iConfig.getUntrackedParameter<std::string>("outFileName", "GeoHistory")),
ddTopNodeName_(iConfig.getUntrackedParameter<std::string>("ddTopNodeName", "BarrelTimingLayer")),
thisN_(),
btlNS_(),
etlNS_() {}
: tag_(iConfig.getParameter<edm::ESInputTag>("DDDetector")),
fname_(iConfig.getUntrackedParameter<std::string>("outFileName", "GeoHistory")),
ddTopNodeName_(iConfig.getUntrackedParameter<std::string>("ddTopNodeName", "BarrelTimingLayer")),
thisN_(),
btlNS_(),
etlNS_() {}

void DD4hep_TestMTDPosition::analyze(const edm::Event& iEvent, const edm::EventSetup& iSetup) {

edm::ESTransientHandle<DDDetector> pDD;
iSetup.get<IdealGeometryRecord>().get(tag_, pDD);

Expand Down Expand Up @@ -98,54 +97,53 @@ void DD4hep_TestMTDPosition::analyze(const edm::Event& iEvent, const edm::EventS
}

const std::string fname = "dump" + fname_;
DDFilteredView fv(pDD.product(),pDD.product()->description()->worldVolume());

DDFilteredView fv(pDD.product(), pDD.product()->description()->worldVolume());
fv.next(0);
edm::LogInfo("DD4hep_TestMTDPosition") << fv.name();

DDSpecParRefs specs;
std::string attribute("ReadOutName"),name;
if ( ddTopNodeName_ == "BarrelTimingLayer" ) {
std::string attribute("ReadOutName"), name;
if (ddTopNodeName_ == "BarrelTimingLayer") {
name = "FastTimerHitsBarrel";
} else if ( ddTopNodeName_ == "EndcapTimingLayer" ) {
} else if (ddTopNodeName_ == "EndcapTimingLayer") {
name = "FastTimerHitsEndcap";
}
if ( name.empty() ) {
if (name.empty()) {
edm::LogError("DD4hep_TestMTDPosition") << "No sensitive detector provided, abort";
return;
}
pSP.product()->filter(specs, attribute, name);

edm::LogVerbatim("Geometry").log([&specs](auto& log) {
log << "Filtered DD SpecPar Registry size: " << specs.size() << "\n";
for (const auto& t : specs) {
log << "\nRegExps { ";
for (const auto& ki : t->paths)
log << ki << " ";
log << "};\n ";
for (const auto& kl : t->spars) {
log << kl.first << " = ";
for (const auto& kil : kl.second) {
log << kil << " ";
}
log << "\n ";
log << "Filtered DD SpecPar Registry size: " << specs.size() << "\n";
for (const auto& t : specs) {
log << "\nRegExps { ";
for (const auto& ki : t->paths)
log << ki << " ";
log << "};\n ";
for (const auto& kl : t->spars) {
log << kl.first << " = ";
for (const auto& kil : kl.second) {
log << kil << " ";
}
log << "\n ";
}
});

}
});

std::ofstream dump(fname.c_str());

bool write = false;
bool isBarrel = true;
uint32_t level(0);
std::vector<std::pair<std::string_view,uint32_t>> geoHistory;
std::vector<std::pair<std::string_view, uint32_t>> geoHistory;

do {

uint32_t clevel = fv.navPos().size();
uint32_t ccopy = (clevel > 1 ? fv.copyNum() : 0);
geoHistory.resize(clevel);
geoHistory[clevel-1] = std::pair<std::string_view,uint32_t>(fv.name(),ccopy);
geoHistory[clevel - 1] = std::pair<std::string_view, uint32_t>(fv.name(), ccopy);

if (fv.name() == "BarrelTimingLayer") {
isBarrel = true;
Expand All @@ -154,25 +152,31 @@ void DD4hep_TestMTDPosition::analyze(const edm::Event& iEvent, const edm::EventS
isBarrel = false;
edm::LogInfo("DD4hep_TestMTDPosition") << "isBarrel = " << isBarrel;
}
auto print_path = [&](std::vector<std::pair<std::string_view,uint32_t>>& theHistory) {

auto print_path = [&](std::vector<std::pair<std::string_view, uint32_t>>& theHistory) {
dump << " - ";
for ( const auto& t : theHistory ) {
dump << t.first + "["+t.second+"]/";
for (const auto& t : theHistory) {
dump << t.first + "[" + t.second + "]/";
}
dump << "\n";
};

#ifdef EDM_ML_DEBUG
edm::LogInfo("DD4hep_TestMTDPosition") << level << " " << clevel << " " << fv.name() << " " << ccopy;
edm::LogVerbatim("DD4hep_TestMTDPosition").log([&geoHistory](auto& log) {
for ( const auto& t : geoHistory ) {
log << t.first + "["+t.second+"]/";
}
});
for (const auto& t : geoHistory) {
log << t.first + "[" + t.second + "]/";
}
});
#endif
if ( level > 0 && fv.navPos().size() < level ) { level = 0; write = false; }
if ( fv.name() == ddTopNodeName_ ) { write = true; level = fv.navPos().size(); }
if (level > 0 && fv.navPos().size() < level) {
level = 0;
write = false;
}
if (fv.name() == ddTopNodeName_) {
write = true;
level = fv.navPos().size();
}

// Actions for MTD volumes: searchg for sensitive detectors

Expand All @@ -181,22 +185,26 @@ void DD4hep_TestMTDPosition::analyze(const edm::Event& iEvent, const edm::EventS

bool isSens = false;

for (auto const &t : specs) {
for (auto const &it : t->paths) {
if ( dd::compareEqual(fv.name(),dd::realTopName(it)) ) { isSens = true; break; }
for (auto const& t : specs) {
for (auto const& it : t->paths) {
if (dd::compareEqual(fv.name(), dd::realTopName(it))) {
isSens = true;
break;
}
}
}

// Check of numbering scheme for sensitive detectors

if (isSens) {
if ( !fv.isABox() ) {
if (!fv.isABox()) {
throw cms::Exception("TestMTDPosition") << "MTD sensitive element not a DDBox";
break;
}
dd::DDBox mySens(fv);
dump << "Solid shape name: " << DDSolidShapesName::name(fv.legacyShape(dd::getCurrentShape(fv))) << "\n";
dump << "Box dimensions: " << convertCmToMm(mySens.halfX()) << " " << convertCmToMm(mySens.halfY()) << " " << convertCmToMm(mySens.halfZ()) << "\n";
dump << "Box dimensions: " << convertCmToMm(mySens.halfX()) << " " << convertCmToMm(mySens.halfY()) << " "
<< convertCmToMm(mySens.halfZ()) << "\n";

char buf[256];
DD3Vector x, y, z;
Expand Down Expand Up @@ -226,22 +234,24 @@ void DD4hep_TestMTDPosition::analyze(const edm::Event& iEvent, const edm::EventS
DD3Vector zeroGlobal = (fv.rotation())(zeroLocal) + fv.translation();
DD3Vector cn1Global = (fv.rotation())(cn1Local) + fv.translation();
double distGlobal =
std::sqrt(std::pow(zeroGlobal.X() - cn1Global.X(), 2) + std::pow(zeroGlobal.Y() - cn1Global.Y(), 2) +
std::pow(zeroGlobal.Z() - cn1Global.Z(), 2));

dump << "Center global = " << std::setw(14) << std::fixed << convertCmToMm(zeroGlobal.X()) << std::setw(14) << std::fixed
<< convertCmToMm(zeroGlobal.Y()) << std::setw(14) << std::fixed << convertCmToMm(zeroGlobal.Z()) << " r = " << std::setw(14)
<< std::fixed << convertCmToMm(zeroGlobal.Rho()) << " phi = " << std::setw(14) << std::fixed << convertRadToDeg(zeroGlobal.Phi())
std::sqrt(std::pow(zeroGlobal.X() - cn1Global.X(), 2) + std::pow(zeroGlobal.Y() - cn1Global.Y(), 2) +
std::pow(zeroGlobal.Z() - cn1Global.Z(), 2));

dump << "Center global = " << std::setw(14) << std::fixed << convertCmToMm(zeroGlobal.X()) << std::setw(14)
<< std::fixed << convertCmToMm(zeroGlobal.Y()) << std::setw(14) << std::fixed
<< convertCmToMm(zeroGlobal.Z()) << " r = " << std::setw(14) << std::fixed
<< convertCmToMm(zeroGlobal.Rho()) << " phi = " << std::setw(14) << std::fixed
<< convertRadToDeg(zeroGlobal.Phi()) << "\n";

dump << "Corner 1 local = " << std::setw(14) << std::fixed << convertCmToMm(cn1Local.X()) << std::setw(14)
<< std::fixed << convertCmToMm(cn1Local.Y()) << std::setw(14) << std::fixed << convertCmToMm(cn1Local.Z())
<< " DeltaR = " << std::setw(14) << std::fixed << convertCmToMm(distLocal) << "\n";

dump << "Corner 1 global = " << std::setw(14) << std::fixed << convertCmToMm(cn1Global.X()) << std::setw(14)
<< std::fixed << convertCmToMm(cn1Global.Y()) << std::setw(14) << std::fixed
<< convertCmToMm(cn1Global.Z()) << " DeltaR = " << std::setw(14) << std::fixed << convertCmToMm(distGlobal)
<< "\n";

dump << "Corner 1 local = " << std::setw(14) << std::fixed << convertCmToMm(cn1Local.X()) << std::setw(14) << std::fixed
<< convertCmToMm(cn1Local.Y()) << std::setw(14) << std::fixed << convertCmToMm(cn1Local.Z()) << " DeltaR = " << std::setw(14)
<< std::fixed << convertCmToMm(distLocal) << "\n";

dump << "Corner 1 global = " << std::setw(14) << std::fixed << convertCmToMm(cn1Global.X()) << std::setw(14) << std::fixed
<< convertCmToMm(cn1Global.Y()) << std::setw(14) << std::fixed << convertCmToMm(cn1Global.Z()) << " DeltaR = " << std::setw(14)
<< std::fixed << convertCmToMm(distGlobal) << "\n";

dump << "\n";
if (std::fabs(convertCmToMm(distGlobal - distLocal)) > 1.e-6) {
dump << "DIFFERENCE IN DISTANCE \n";
Expand All @@ -253,12 +263,13 @@ void DD4hep_TestMTDPosition::analyze(const edm::Event& iEvent, const edm::EventS
dump.close();
}

void DD4hep_TestMTDPosition::theBaseNumber(const std::vector<std::pair<std::string_view,uint32_t>>& gh) {
void DD4hep_TestMTDPosition::theBaseNumber(const std::vector<std::pair<std::string_view, uint32_t>>& gh) {
thisN_.reset();
thisN_.setSize(gh.size());

for ( auto t = gh.rbegin() ; t != gh.rend(); ++t ){
std::string name; name.assign(t->first);
for (auto t = gh.rbegin(); t != gh.rend(); ++t) {
std::string name;
name.assign(t->first);
int copyN(t->second);
thisN_.addLevel(name, copyN);
#ifdef EDM_ML_DEBUG
Expand Down

0 comments on commit 8de4fbc

Please sign in to comment.