Skip to content

Commit

Permalink
Merge branch 'master' into ModifierForPPref
Browse files Browse the repository at this point in the history
  • Loading branch information
tvami authored Oct 30, 2021
2 parents 6d80013 + 4dc0c5e commit 1c83752
Show file tree
Hide file tree
Showing 100 changed files with 1,798 additions and 1,163 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
#include "FWCore/PluginManager/interface/PluginFactory.h"
#include "Alignment/CommonAlignmentAlgorithm/interface/IntegratedCalibrationBase.h"

typedef edmplugin::PluginFactory<IntegratedCalibrationBase*(const edm::ParameterSet&)>
typedef edmplugin::PluginFactory<IntegratedCalibrationBase *(const edm::ParameterSet &, edm::ConsumesCollector &)>
IntegratedCalibrationPluginFactory;

#endif
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@
#include "DataFormats/DetId/interface/DetId.h"
#include "DataFormats/SiPixelDetId/interface/PixelSubdetector.h"

#include "FWCore/Framework/interface/ESHandle.h"
#include "FWCore/Framework/interface/ESWatcher.h"
#include "FWCore/Framework/interface/Run.h"
#include "FWCore/MessageLogger/interface/MessageLogger.h"
Expand All @@ -37,6 +36,7 @@
#include "MagneticField/Engine/interface/MagneticField.h"
#include "MagneticField/Records/interface/IdealMagneticFieldRecord.h"
#include "TrackingTools/TransientTrackingRecHit/interface/TransientTrackingRecHit.h"
#include "FWCore/Framework/interface/ConsumesCollector.h"

#include "TTree.h"
#include "TFile.h"
Expand All @@ -54,7 +54,7 @@
class SiPixelLorentzAngleCalibration : public IntegratedCalibrationBase {
public:
/// Constructor
explicit SiPixelLorentzAngleCalibration(const edm::ParameterSet &cfg);
explicit SiPixelLorentzAngleCalibration(const edm::ParameterSet &cfg, edm::ConsumesCollector &iC);

/// Destructor
~SiPixelLorentzAngleCalibration() override = default;
Expand Down Expand Up @@ -116,7 +116,8 @@ class SiPixelLorentzAngleCalibration : public IntegratedCalibrationBase {
const std::string outFileName_;
const std::vector<std::string> mergeFileNames_;
const std::string lorentzAngleLabel_;

const edm::ESGetToken<SiPixelLorentzAngle, SiPixelLorentzAngleRcd> lorentzAngleToken_;
const edm::ESGetToken<MagneticField, IdealMagneticFieldRecord> magFieldToken_;
edm::ESWatcher<SiPixelLorentzAngleRcd> watchLorentzAngleRcd_;

// const AlignableTracker *alignableTracker_;
Expand All @@ -134,13 +135,15 @@ class SiPixelLorentzAngleCalibration : public IntegratedCalibrationBase {
//======================================================================
//======================================================================

SiPixelLorentzAngleCalibration::SiPixelLorentzAngleCalibration(const edm::ParameterSet &cfg)
SiPixelLorentzAngleCalibration::SiPixelLorentzAngleCalibration(const edm::ParameterSet &cfg, edm::ConsumesCollector &iC)
: IntegratedCalibrationBase(cfg),
saveToDB_(cfg.getParameter<bool>("saveToDB")),
recordNameDBwrite_(cfg.getParameter<std::string>("recordNameDBwrite")),
outFileName_(cfg.getParameter<std::string>("treeFile")),
mergeFileNames_(cfg.getParameter<std::vector<std::string> >("mergeTreeFiles")),
lorentzAngleLabel_(cfg.getParameter<std::string>("lorentzAngleLabel")),
lorentzAngleToken_(iC.esConsumes<edm::Transition::BeginRun>(edm::ESInputTag("", lorentzAngleLabel_))),
magFieldToken_(iC.esConsumes()),
moduleGroupSelCfg_(cfg.getParameter<edm::ParameterSet>("LorentzAngleModuleGroups")) {}

//======================================================================
Expand All @@ -165,9 +168,9 @@ void SiPixelLorentzAngleCalibration::beginRun(const edm::Run &run, const edm::Ev
}
}

edm::ESHandle<SiPixelLorentzAngle> lorentzAngleHandle;
const SiPixelLorentzAngle *lorentzAngleHandle = &setup.getData(lorentzAngleToken_);
const auto &lorentzAngleRcd = setup.get<SiPixelLorentzAngleRcd>();
lorentzAngleRcd.get(lorentzAngleLabel_, lorentzAngleHandle);

if (cachedLorentzAngleInputs_.find(firstRun) == cachedLorentzAngleInputs_.end()) {
cachedLorentzAngleInputs_.emplace(firstRun, SiPixelLorentzAngle(*lorentzAngleHandle));
} else {
Expand Down Expand Up @@ -202,8 +205,8 @@ unsigned int SiPixelLorentzAngleCalibration::derivatives(std::vector<ValuesIndex
const int index =
moduleGroupSelector_->getParameterIndexFromDetId(hit.det()->geographicalId(), eventInfo.eventId().run());
if (index >= 0) { // otherwise not treated
edm::ESHandle<MagneticField> magneticField;
setup.get<IdealMagneticFieldRecord>().get(magneticField);

const MagneticField *magneticField = &setup.getData(magFieldToken_);
const GlobalVector bField(magneticField->inTesla(hit.det()->surface().position()));
const LocalVector bFieldLocal(hit.det()->surface().toLocal(bField));
const double dZ = hit.det()->surface().bounds().thickness(); // it is a float only...
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,6 @@
#include "DataFormats/DetId/interface/DetId.h"
#include "DataFormats/SiStripDetId/interface/SiStripDetId.h"

#include "FWCore/Framework/interface/ESHandle.h"
#include "FWCore/Framework/interface/ESWatcher.h"
#include "FWCore/MessageLogger/interface/MessageLogger.h"
#include "FWCore/ServiceRegistry/interface/Service.h"
Expand All @@ -39,6 +38,7 @@
#include "MagneticField/Engine/interface/MagneticField.h"
#include "MagneticField/Records/interface/IdealMagneticFieldRecord.h"
#include "TrackingTools/TransientTrackingRecHit/interface/TransientTrackingRecHit.h"
#include "FWCore/Framework/interface/ConsumesCollector.h"

#include "TTree.h"
#include "TFile.h"
Expand All @@ -54,7 +54,7 @@
class SiStripBackplaneCalibration : public IntegratedCalibrationBase {
public:
/// Constructor
explicit SiStripBackplaneCalibration(const edm::ParameterSet &cfg);
explicit SiStripBackplaneCalibration(const edm::ParameterSet &cfg, edm::ConsumesCollector &iC);

/// Destructor
~SiStripBackplaneCalibration() override;
Expand Down Expand Up @@ -135,13 +135,17 @@ class SiStripBackplaneCalibration : public IntegratedCalibrationBase {

TkModuleGroupSelector *moduleGroupSelector_;
const edm::ParameterSet moduleGroupSelCfg_;
const edm::ESGetToken<SiStripLatency, SiStripLatencyRcd> latencyToken_;
const edm::ESGetToken<SiStripLorentzAngle, SiStripLorentzAngleRcd> lorentzAngleToken_;
const edm::ESGetToken<MagneticField, IdealMagneticFieldRecord> magFieldToken_;
const edm::ESGetToken<SiStripBackPlaneCorrection, SiStripBackPlaneCorrectionRcd> backPlaneCorrToken_;
};

//======================================================================
//======================================================================
//======================================================================

SiStripBackplaneCalibration::SiStripBackplaneCalibration(const edm::ParameterSet &cfg)
SiStripBackplaneCalibration::SiStripBackplaneCalibration(const edm::ParameterSet &cfg, edm::ConsumesCollector &iC)
: IntegratedCalibrationBase(cfg),
readoutModeName_(cfg.getParameter<std::string>("readoutMode")),
saveToDB_(cfg.getParameter<bool>("saveToDB")),
Expand All @@ -150,7 +154,11 @@ SiStripBackplaneCalibration::SiStripBackplaneCalibration(const edm::ParameterSet
mergeFileNames_(cfg.getParameter<std::vector<std::string> >("mergeTreeFiles")),
siStripBackPlaneCorrInput_(nullptr),
moduleGroupSelector_(nullptr),
moduleGroupSelCfg_(cfg.getParameter<edm::ParameterSet>("BackplaneModuleGroups")) {
moduleGroupSelCfg_(cfg.getParameter<edm::ParameterSet>("BackplaneModuleGroups")),
latencyToken_(iC.esConsumes()),
lorentzAngleToken_(iC.esConsumes<edm::Transition::BeginRun>(edm::ESInputTag("", readoutModeName_))),
magFieldToken_(iC.esConsumes()),
backPlaneCorrToken_(iC.esConsumes(edm::ESInputTag("", readoutModeName_))) {
// SiStripLatency::singleReadOutMode() returns
// 1: all in peak, 0: all in deco, -1: mixed state
// (in principle one could treat even mixed state APV by APV...)
Expand Down Expand Up @@ -187,8 +195,7 @@ unsigned int SiStripBackplaneCalibration::derivatives(std::vector<ValuesIndexPai

outDerivInds.clear();

edm::ESHandle<SiStripLatency> latency;
setup.get<SiStripLatencyRcd>().get(latency);
const SiStripLatency *latency = &setup.getData(latencyToken_);
const int16_t mode = latency->singleReadOutMode();

if (mode == readoutMode_) {
Expand All @@ -197,16 +204,14 @@ unsigned int SiStripBackplaneCalibration::derivatives(std::vector<ValuesIndexPai
const int index =
moduleGroupSelector_->getParameterIndexFromDetId(hit.det()->geographicalId(), eventInfo.eventId().run());
if (index >= 0) { // otherwise not treated
edm::ESHandle<MagneticField> magneticField;
setup.get<IdealMagneticFieldRecord>().get(magneticField);
const MagneticField *magneticField = &setup.getData(magFieldToken_);
const GlobalVector bField(magneticField->inTesla(hit.det()->surface().position()));
const LocalVector bFieldLocal(hit.det()->surface().toLocal(bField));
//std::cout << "SiStripBackplaneCalibration derivatives " << readoutModeName_ << std::endl;
const double dZ = hit.det()->surface().bounds().thickness(); // it's a float only...
const double tanPsi = tsos.localParameters().mixedFormatVector()[1]; //float...

edm::ESHandle<SiStripLorentzAngle> lorentzAngleHandle;
setup.get<SiStripLorentzAngleRcd>().get(readoutModeName_, lorentzAngleHandle);
const SiStripLorentzAngle *lorentzAngleHandle = &setup.getData(lorentzAngleToken_);
// Yes, mobility (= LA/By) stored in object called LA...
const double mobility = lorentzAngleHandle->getLorentzAngle(hit.det()->geographicalId());
// shift due to dead back plane has two parts:
Expand Down Expand Up @@ -393,16 +398,17 @@ void SiStripBackplaneCalibration::endOfJob() {
//======================================================================
bool SiStripBackplaneCalibration::checkBackPlaneCorrectionInput(const edm::EventSetup &setup,
const EventInfo &eventInfo) {
edm::ESHandle<SiStripBackPlaneCorrection> backPlaneCorrHandle;
const SiStripBackPlaneCorrection *backPlaneCorrHandle = nullptr;
if (!siStripBackPlaneCorrInput_) {
setup.get<SiStripBackPlaneCorrectionRcd>().get(readoutModeName_, backPlaneCorrHandle);
backPlaneCorrHandle = &setup.getData(backPlaneCorrToken_);
siStripBackPlaneCorrInput_ = new SiStripBackPlaneCorrection(*backPlaneCorrHandle);
// FIXME: Should we call 'watchBackPlaneCorrRcd_.check(setup)' as well?
// Otherwise could be that next check has to check via following 'else', though
// no new IOV has started... (to be checked)
} else {
if (watchBackPlaneCorrRcd_.check(setup)) { // new IOV of input - but how to check peak vs deco?
setup.get<SiStripBackPlaneCorrectionRcd>().get(readoutModeName_, backPlaneCorrHandle);
backPlaneCorrHandle = &setup.getData(backPlaneCorrToken_);

if (backPlaneCorrHandle->getBackPlaneCorrections() // but only bad if non-identical values
!= siStripBackPlaneCorrInput_->getBackPlaneCorrections()) { // (comparing maps)
// Maps are containers sorted by key, but comparison problems may arise from
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
#include "DataFormats/DetId/interface/DetId.h"
#include "DataFormats/SiStripDetId/interface/SiStripDetId.h"

#include "FWCore/Framework/interface/ESHandle.h"
#include "FWCore/Framework/interface/ConsumesCollector.h"
#include "FWCore/Framework/interface/ESWatcher.h"
#include "FWCore/Framework/interface/Run.h"
#include "FWCore/MessageLogger/interface/MessageLogger.h"
Expand All @@ -53,7 +53,7 @@
class SiStripLorentzAngleCalibration : public IntegratedCalibrationBase {
public:
/// Constructor
explicit SiStripLorentzAngleCalibration(const edm::ParameterSet &cfg);
explicit SiStripLorentzAngleCalibration(const edm::ParameterSet &cfg, edm::ConsumesCollector &iC);

/// Destructor
~SiStripLorentzAngleCalibration() override = default;
Expand Down Expand Up @@ -130,20 +130,29 @@ class SiStripLorentzAngleCalibration : public IntegratedCalibrationBase {

std::unique_ptr<TkModuleGroupSelector> moduleGroupSelector_;
const edm::ParameterSet moduleGroupSelCfg_;

const edm::ESGetToken<SiStripLatency, SiStripLatencyRcd> latencyToken_;
const edm::ESGetToken<SiStripLorentzAngle, SiStripLorentzAngleRcd> lorentzAngleToken_;
const edm::ESGetToken<MagneticField, IdealMagneticFieldRecord> magFieldToken_;
const edm::ESGetToken<SiStripBackPlaneCorrection, SiStripBackPlaneCorrectionRcd> backPlaneCorrToken_;
};

//======================================================================
//======================================================================
//======================================================================

SiStripLorentzAngleCalibration::SiStripLorentzAngleCalibration(const edm::ParameterSet &cfg)
SiStripLorentzAngleCalibration::SiStripLorentzAngleCalibration(const edm::ParameterSet &cfg, edm::ConsumesCollector &iC)
: IntegratedCalibrationBase(cfg),
readoutModeName_(cfg.getParameter<std::string>("readoutMode")),
saveToDB_(cfg.getParameter<bool>("saveToDB")),
recordNameDBwrite_(cfg.getParameter<std::string>("recordNameDBwrite")),
outFileName_(cfg.getParameter<std::string>("treeFile")),
mergeFileNames_(cfg.getParameter<std::vector<std::string> >("mergeTreeFiles")),
moduleGroupSelCfg_(cfg.getParameter<edm::ParameterSet>("LorentzAngleModuleGroups")) {
moduleGroupSelCfg_(cfg.getParameter<edm::ParameterSet>("LorentzAngleModuleGroups")),
latencyToken_(iC.esConsumes()),
lorentzAngleToken_(iC.esConsumes<edm::Transition::BeginRun>(edm::ESInputTag("", readoutModeName_))),
magFieldToken_(iC.esConsumes()),
backPlaneCorrToken_(iC.esConsumes(edm::ESInputTag("", readoutModeName_))) {
// SiStripLatency::singleReadOutMode() returns
// 1: all in peak, 0: all in deco, -1: mixed state
// (in principle one could treat even mixed state APV by APV...)
Expand Down Expand Up @@ -180,9 +189,8 @@ void SiStripLorentzAngleCalibration::beginRun(const edm::Run &run, const edm::Ev
}
}

edm::ESHandle<SiStripLorentzAngle> lorentzAngleHandle;
const SiStripLorentzAngle *lorentzAngleHandle = &setup.getData(lorentzAngleToken_);
const auto &lorentzAngleRcd = setup.get<SiStripLorentzAngleRcd>();
lorentzAngleRcd.get(readoutModeName_, lorentzAngleHandle);
if (cachedLorentzAngleInputs_.find(firstRun) == cachedLorentzAngleInputs_.end()) {
cachedLorentzAngleInputs_.emplace(firstRun, SiStripLorentzAngle(*lorentzAngleHandle));
} else {
Expand Down Expand Up @@ -212,17 +220,15 @@ unsigned int SiStripLorentzAngleCalibration::derivatives(std::vector<ValuesIndex
const EventInfo &eventInfo) const {
outDerivInds.clear();

edm::ESHandle<SiStripLatency> latency;
setup.get<SiStripLatencyRcd>().get(latency);
const SiStripLatency *latency = &setup.getData(latencyToken_);
const int16_t mode = latency->singleReadOutMode();
if (mode == readoutMode_) {
if (hit.det()) { // otherwise 'constraint hit' or whatever

const int index =
moduleGroupSelector_->getParameterIndexFromDetId(hit.det()->geographicalId(), eventInfo.eventId().run());
if (index >= 0) { // otherwise not treated
edm::ESHandle<MagneticField> magneticField;
setup.get<IdealMagneticFieldRecord>().get(magneticField);
const MagneticField *magneticField = &setup.getData(magFieldToken_);
const GlobalVector bField(magneticField->inTesla(hit.det()->surface().position()));
const LocalVector bFieldLocal(hit.det()->surface().toLocal(bField));
const double dZ = this->effectiveThickness(hit.det(), mode, setup);
Expand Down Expand Up @@ -394,10 +400,9 @@ double SiStripLorentzAngleCalibration::effectiveThickness(const GeomDet *det,
return 0.;
double dZ = det->surface().bounds().thickness(); // it is a float only...
const SiStripDetId id(det->geographicalId());
edm::ESHandle<SiStripBackPlaneCorrection> backPlaneHandle;
const SiStripBackPlaneCorrection *backPlaneHandle = &setup.getData(backPlaneCorrToken_);
// FIXME: which one? DepRcd->get(handle) or Rcd->get(readoutModeName_, handle)??
// setup.get<SiStripBackPlaneCorrectionDepRcd>().get(backPlaneHandle); // get correct mode
setup.get<SiStripBackPlaneCorrectionRcd>().get(readoutModeName_, backPlaneHandle);
const double bpCor = backPlaneHandle->getBackPlaneCorrection(id); // it's a float...
// std::cout << "bpCor " << bpCor << " in subdet " << id.subdetId() << std::endl;
dZ *= (1. - bpCor);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -143,7 +143,7 @@ class AlignmentProducerBase {
void createMonitors(edm::ConsumesCollector&);

/// Creates the calibrations
void createCalibrations();
void createCalibrations(edm::ConsumesCollector&);

/// Checks if one of the EventSetup-Records has changed
bool setupChanged(const edm::EventSetup&);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ AlignmentProducerBase::AlignmentProducerBase(const edm::ParameterSet& config, ed

createAlignmentAlgorithm(iC);
createMonitors(iC);
createCalibrations();
createCalibrations(iC);
}

//------------------------------------------------------------------------------
Expand Down Expand Up @@ -297,11 +297,11 @@ void AlignmentProducerBase::createMonitors(edm::ConsumesCollector& iC) {
}

//------------------------------------------------------------------------------
void AlignmentProducerBase::createCalibrations() {
void AlignmentProducerBase::createCalibrations(edm::ConsumesCollector& iC) {
const auto& calibrations = config_.getParameter<edm::VParameterSet>("calibrations");
for (const auto& iCalib : calibrations) {
calibrations_.emplace_back(
IntegratedCalibrationPluginFactory::get()->create(iCalib.getParameter<std::string>("calibrationName"), iCalib));
calibrations_.emplace_back(IntegratedCalibrationPluginFactory::get()->create(
iCalib.getParameter<std::string>("calibrationName"), iCalib, iC));
}
}

Expand Down
4 changes: 0 additions & 4 deletions CalibCalorimetry/HcalAlgos/interface/HcalLedAnalysis.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,7 @@
#define HcalLedAnalysis_H

#include "FWCore/Framework/interface/Frameworkfwd.h"
#include "FWCore/Framework/interface/EDAnalyzer.h"
#include "FWCore/Framework/interface/Event.h"
#include "FWCore/Framework/interface/MakerMacros.h"
#include "FWCore/ParameterSet/interface/ParameterSet.h"
#include "FWCore/ServiceRegistry/interface/Service.h"

#include "DataFormats/HcalDigi/interface/HcalDigiCollections.h"

Expand Down
4 changes: 0 additions & 4 deletions CalibCalorimetry/HcalAlgos/interface/HcalPedestalAnalysis.h
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,7 @@
#define HcalPedestalAnalysis_H

#include "FWCore/Framework/interface/Frameworkfwd.h"
#include "FWCore/Framework/interface/EDAnalyzer.h"
#include "FWCore/Framework/interface/Event.h"
#include "FWCore/Framework/interface/MakerMacros.h"
#include "FWCore/ParameterSet/interface/ParameterSet.h"
#include "FWCore/ServiceRegistry/interface/Service.h"
#include "DataFormats/HcalDetId/interface/HcalDetId.h"
#include "DataFormats/HcalDigi/interface/HcalDigiCollections.h"

Expand Down
10 changes: 4 additions & 6 deletions CalibCalorimetry/HcalAlgos/test/MapTester.cc
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@

// user include files
#include "FWCore/Framework/interface/Frameworkfwd.h"
#include "FWCore/Framework/interface/EDAnalyzer.h"
#include "FWCore/Framework/interface/one/EDAnalyzer.h"

#include "FWCore/Framework/interface/Event.h"
#include "FWCore/Framework/interface/MakerMacros.h"
Expand All @@ -40,17 +40,17 @@
// class decleration
//

class MapTester : public edm::EDAnalyzer {
class MapTester : public edm::one::EDAnalyzer<> {
public:
explicit MapTester(const edm::ParameterSet&);
~MapTester();
~MapTester() override = default;

private:
unsigned int mapIOV_; //1 for first set, 2 for second, ...
bool generateTextfiles_;
bool generateEmap_;

virtual void analyze(const edm::Event&, const edm::EventSetup&);
void analyze(const edm::Event&, const edm::EventSetup&) override;

// ----------member data ---------------------------
const edm::ESGetToken<HcalTopology, HcalRecNumberingRecord> tok_topo_;
Expand All @@ -62,8 +62,6 @@ MapTester::MapTester(const edm::ParameterSet& iConfig) : tok_topo_(esConsumes<Hc
generateEmap_ = iConfig.getParameter<bool>("generateEmap");
}

MapTester::~MapTester() {}

// ------------ method called to for each event ------------
void MapTester::analyze(const edm::Event& iEvent, const edm::EventSetup& iSetup) {
char tempbuff[128];
Expand Down
Loading

0 comments on commit 1c83752

Please sign in to comment.