Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 6 additions & 1 deletion EventFilter/DTRawToDigi/plugins/DTuROSRawToDigi.cc
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,12 @@ DTuROSRawToDigi::DTuROSRawToDigi(const edm::ParameterSet& pset) {
mapping_token_ = esConsumes<DTReadOutMapping, DTReadOutMappingRcd>();
}

DTuROSRawToDigi::~DTuROSRawToDigi() {}
void DTuROSRawToDigi::fillDescriptions(edm::ConfigurationDescriptions& descriptions) {
edm::ParameterSetDescription desc;
desc.add<edm::InputTag>("inputLabel", edm::InputTag("rawDataCollector"));
desc.addUntracked<bool>("debug", false);
descriptions.addWithDefaultLabel(desc);
}

void DTuROSRawToDigi::produce(edm::Event& e, const edm::EventSetup& c) {
DTDigiCollection digis;
Expand Down
29 changes: 16 additions & 13 deletions EventFilter/DTRawToDigi/plugins/DTuROSRawToDigi.h
Original file line number Diff line number Diff line change
Expand Up @@ -14,22 +14,23 @@
#ifndef DTRawToDigi_DTuROSRawToDigi_h
#define DTRawToDigi_DTuROSRawToDigi_h

#include "FWCore/Framework/interface/ConsumesCollector.h"
#include "CondFormats/DTObjects/interface/DTReadOutMapping.h"
#include "CondFormats/DataRecord/interface/DTReadOutMappingRcd.h"
#include "DataFormats/Common/interface/Handle.h"
#include "DataFormats/DTDigi/interface/DTDigiCollection.h"
#include "DataFormats/FEDRawData/interface/FEDNumbering.h"
#include "DataFormats/FEDRawData/interface/FEDRawDataCollection.h"
#include "DataFormats/MuonDetId/interface/DTLayerId.h"
#include "FWCore/Framework/interface/ConsumesCollector.h"
#include "FWCore/Framework/interface/ESHandle.h"
#include "FWCore/Utilities/interface/ESGetToken.h"
#include "FWCore/Framework/interface/Event.h"
#include "FWCore/Framework/interface/EventSetup.h"
#include "DataFormats/DTDigi/interface/DTDigiCollection.h"
#include "DataFormats/MuonDetId/interface/DTLayerId.h"
#include "CondFormats/DTObjects/interface/DTReadOutMapping.h"
#include "CondFormats/DataRecord/interface/DTReadOutMappingRcd.h"

#include <DataFormats/FEDRawData/interface/FEDRawDataCollection.h>
#include <DataFormats/FEDRawData/interface/FEDNumbering.h>
#include <FWCore/Framework/interface/stream/EDProducer.h>
#include <FWCore/ParameterSet/interface/ParameterSet.h>
#include <FWCore/Utilities/interface/InputTag.h>
#include "FWCore/Framework/interface/stream/EDProducer.h"
#include "FWCore/ParameterSet/interface/ConfigurationDescriptions.h"
#include "FWCore/ParameterSet/interface/ParameterSet.h"
#include "FWCore/ParameterSet/interface/ParameterSetDescription.h"
#include "FWCore/Utilities/interface/ESGetToken.h"
#include "FWCore/Utilities/interface/InputTag.h"

#include <string>

Expand All @@ -42,14 +43,16 @@ class DTuROSRawToDigi : public edm::stream::EDProducer<> {
DTuROSRawToDigi(const edm::ParameterSet& pset);

/// Destructor
~DTuROSRawToDigi() override;
~DTuROSRawToDigi() override = default;

/// Produce digis out of raw data
void produce(edm::Event& e, const edm::EventSetup& c) override;

/// Generate and fill FED raw data for a full event
bool fillRawData(edm::Event& e, const edm::EventSetup& c, DTDigiCollection& digis, std::vector<DTuROSFEDData>& words);

static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);

private:
edm::InputTag DTuROSInputTag_;

Expand Down
6 changes: 2 additions & 4 deletions EventFilter/DTRawToDigi/python/dturosunpacker_cfi.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
import FWCore.ParameterSet.Config as cms

dturosunpacker = cms.EDProducer("DTuROSRawToDigi",
inputLabel = cms.InputTag("rawDataCollector"),
debug = cms.untracked.bool(False),
)
from EventFilter.DTRawToDigi.dTuROSRawToDigi_cfi import dTuROSRawToDigi as _dTuROSRawToDigi
dturosunpacker = _dTuROSRawToDigi.clone()
Original file line number Diff line number Diff line change
@@ -1,11 +1,7 @@
import FWCore.ParameterSet.Config as cms

rawDataCollector = cms.EDProducer("RawDataCollectorByLabel",
verbose = cms.untracked.int32(1), # 0 = quiet, 1 = collection list, 2 = FED list
RawCollectionList = cms.VInputTag( cms.InputTag('SiStripDigiToZSRaw'),
cms.InputTag('rawDataCollector'))
)

from EventFilter.RawDataCollector.default_rawDataCollectorByLabel_cfi import default_rawDataCollectorByLabel as _rawDataCollectorByLabel
rawDataCollector = _rawDataCollectorByLabel.clone()
#
# Make changes if using the Stage 1 trigger
#
Expand Down
23 changes: 15 additions & 8 deletions EventFilter/RawDataCollector/src/RawDataCollectorByLabel.cc
Original file line number Diff line number Diff line change
Expand Up @@ -3,18 +3,19 @@
*
*/

#include "EventFilter/RawDataCollector/src/RawDataCollectorByLabel.h"
#include "DataFormats/FEDRawData/interface/FEDRawDataCollection.h"
#include "DataFormats/FEDRawData/interface/FEDRawData.h"
#include "DataFormats/FEDRawData/interface/FEDNumbering.h"

#include "DataFormats/Common/interface/Handle.h"
#include "FWCore/Framework/interface/Event.h"
#include "DataFormats/FEDRawData/interface/FEDNumbering.h"
#include "DataFormats/FEDRawData/interface/FEDRawData.h"
#include "DataFormats/FEDRawData/interface/FEDRawDataCollection.h"
#include "DataFormats/Provenance/interface/ProcessHistory.h"
#include "EventFilter/RawDataCollector/src/RawDataCollectorByLabel.h"
#include "FWCore/Framework/interface/ESHandle.h"
#include "FWCore/Framework/interface/Event.h"
#include "FWCore/Framework/interface/EventSetup.h"

#include "FWCore/MessageLogger/interface/MessageLogger.h"
#include "FWCore/ParameterSet/interface/ConfigurationDescriptions.h"
#include "FWCore/ParameterSet/interface/ParameterSet.h"
#include "FWCore/ParameterSet/interface/ParameterSetDescription.h"

#include <iostream>

Expand All @@ -31,7 +32,13 @@ RawDataCollectorByLabel::RawDataCollectorByLabel(const edm::ParameterSet &pset)
produces<FEDRawDataCollection>();
}

RawDataCollectorByLabel::~RawDataCollectorByLabel() {}
void RawDataCollectorByLabel::fillDescriptions(edm::ConfigurationDescriptions &descriptions) {
edm::ParameterSetDescription desc;
desc.add<std::vector<InputTag> >("RawCollectionList",
{edm::InputTag("SiStripDigiToZSRaw"), edm::InputTag("rawDataCollector")});
desc.addUntracked<int>("verbose", 0)->setComment("0 = quiet, 1 = collection list, 2 = FED list");
descriptions.add("default_rawDataCollectorByLabel", desc);
}

void RawDataCollectorByLabel::produce(Event &e, const EventSetup &c) {
/// Get Data from all FEDs
Expand Down
4 changes: 3 additions & 1 deletion EventFilter/RawDataCollector/src/RawDataCollectorByLabel.h
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,12 @@ class RawDataCollectorByLabel : public edm::stream::EDProducer<> {
RawDataCollectorByLabel(const edm::ParameterSet& pset);

///Destructor
~RawDataCollectorByLabel() override;
~RawDataCollectorByLabel() override = default;

void produce(edm::Event& e, const edm::EventSetup& c) override;

static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);

private:
typedef std::vector<edm::InputTag>::const_iterator tag_iterator_t;
typedef std::vector<edm::EDGetTokenT<FEDRawDataCollection> >::const_iterator tok_iterator_t;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
import FWCore.ParameterSet.Config as cms

hltIter2Phase2L3FromL1TkMuonMaskedMeasurementTrackerEvent = cms.EDProducer("MaskedMeasurementTrackerEventProducer",
OnDemand = cms.bool(False),
phase2clustersToSkip = cms.InputTag("hltIter2Phase2L3FromL1TkMuonClustersRefRemoval"),
src = cms.InputTag("hltMeasurementTrackerEvent")
)
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@

hltSiPixelRecHits = cms.EDProducer("SiPixelRecHitConverter",
CPE = cms.string('PixelCPEGeneric'),
VerboseLevel = cms.untracked.int32(0),
src = cms.InputTag("hltSiPixelClusters")
)

Expand Down
21 changes: 21 additions & 0 deletions HLTrigger/Configuration/python/customizeHLTforCMSSW.py
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,25 @@ def customizeHLTfor46935(process):
delattr(prod, 'recHitsLabelCPUEE')
return process


def customizeHLTfor47017(process):
"""Remove unneeded parameters from the HLT menu"""
for prod in producers_by_type(process, 'MaskedMeasurementTrackerEventProducer'):
if hasattr(prod, 'OnDemand'):
delattr(prod, 'OnDemand')

for prod in producers_by_type(process, 'HcalHaloDataProducer'):
if hasattr(prod, 'HcalMaxMatchingRadiusParam'):
delattr(prod, 'HcalMaxMatchingRadiusParam')
if hasattr(prod, 'HcalMinMatchingRadiusParam'):
delattr(prod, 'HcalMinMatchingRadiusParam')

for prod in producers_by_type(process, 'SiPixelRecHitConverter'):
if hasattr(prod, 'VerboseLevel'):
delattr(prod, 'VerboseLevel')

return process

# CMSSW version specific customizations
def customizeHLTforCMSSW(process, menuType="GRun"):

Expand All @@ -74,5 +93,7 @@ def customizeHLTforCMSSW(process, menuType="GRun"):
# process = customiseFor12718(process)

process = customizeHLTfor46935(process)
process = customizeHLTfor47017(process)

return process

3 changes: 2 additions & 1 deletion RecoLocalMuon/CSCSegment/python/cscSegments_cfi.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,8 @@
from RecoLocalMuon.CSCSegment.CSCSegmentAlgorithmST_cfi import *
from RecoLocalMuon.CSCSegment.CSCSegmentAlgorithmRU_cfi import *

cscSegments = cms.EDProducer("CSCSegmentProducer",
from RecoLocalMuon.CSCSegment.cscSegmentProducer_cfi import cscSegmentProducer as _cscSegmentProducer
cscSegments = _cscSegmentProducer.clone(
# Define input
inputObjects = cms.InputTag("csc2DRecHits"),
# Choice of the building algo: 1 SK, 2 TC, 3 DF, 4 ST, 5 RU, ...
Expand Down
35 changes: 31 additions & 4 deletions RecoLocalMuon/CSCSegment/src/CSCSegmentBuilder.cc
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ CSCSegmentBuilder::CSCSegmentBuilder(const edm::ParameterSet& ps) : geom_(nullpt
int chosenAlgo = ps.getParameter<int>("algo_type") - 1;

// Find appropriate ParameterSets for each algo type
std::vector<edm::ParameterSet> algoPSets = ps.getParameter<std::vector<edm::ParameterSet> >("algo_psets");
std::vector<edm::ParameterSet> algoPSets = ps.getParameter<std::vector<edm::ParameterSet>>("algo_psets");

// Now load the right parameter set
// Algo name
Expand All @@ -33,14 +33,14 @@ CSCSegmentBuilder::CSCSegmentBuilder(const edm::ParameterSet& ps) : geom_(nullpt

// SegAlgo parameter set
std::vector<edm::ParameterSet> segAlgoPSet =
algoPSets[chosenAlgo].getParameter<std::vector<edm::ParameterSet> >("algo_psets");
algoPSets[chosenAlgo].getParameter<std::vector<edm::ParameterSet>>("algo_psets");

// Chamber types to handle
std::vector<std::string> chType = algoPSets[chosenAlgo].getParameter<std::vector<std::string> >("chamber_types");
std::vector<std::string> chType = algoPSets[chosenAlgo].getParameter<std::vector<std::string>>("chamber_types");
LogDebug("CSCSegment|CSC") << "No. of chamber types to handle: " << chType.size();

// Algo to chamber type
std::vector<int> algoToType = algoPSets[chosenAlgo].getParameter<std::vector<int> >("parameters_per_chamber_type");
std::vector<int> algoToType = algoPSets[chosenAlgo].getParameter<std::vector<int>>("parameters_per_chamber_type");

// Trap if we don't have enough parameter sets or haven't assigned an algo to every type
if (algoToType.size() != chType.size()) {
Expand Down Expand Up @@ -101,3 +101,30 @@ void CSCSegmentBuilder::build(const CSCRecHit2DCollection* recHits, CSCSegmentCo
}

void CSCSegmentBuilder::setGeometry(const CSCGeometry* geom) { geom_ = geom; }

void CSCSegmentBuilder::fillPSetDescription(edm::ParameterSetDescription& desc) {
/// Top-level parameters
desc.add<int>("algo_type", 5)->setComment("Choice of the building algo: 1 SK, 2 TC, 3 DF, 4 ST, 5 RU, ...");

// Define the nested PSet for individual configurations
edm::ParameterSetDescription algoPSet;
algoPSet.add<std::vector<int>>("parameters_per_chamber_type", {1, 2, 3, 4, 5, 6, 5, 6, 5, 6});

// Define the VPSet inside algo_psets
edm::ParameterSetDescription innerPSet;
// Allow any parameter in the innerPSet
innerPSet.setAllowAnything();

// Fill the VPSet for algo_psets
edm::ParameterSetDescription innerAlgoPSet;
innerAlgoPSet.addVPSet("algo_psets", innerPSet);

// Additional top-level keys
algoPSet.addVPSet("algo_psets", innerPSet);
algoPSet.add<std::string>("algo_name", "CSCSegAlgoRU");
algoPSet.add<std::vector<std::string>>(
"chamber_types", {"ME1/a", "ME1/b", "ME1/2", "ME1/3", "ME2/1", "ME2/2", "ME3/1", "ME3/2", "ME4/1", "ME4/2"});

// Add to the top-level VPSet
desc.addVPSet("algo_psets", algoPSet);
}
10 changes: 6 additions & 4 deletions RecoLocalMuon/CSCSegment/src/CSCSegmentBuilder.h
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,10 @@
*
*/

#include <DataFormats/CSCRecHit/interface/CSCRecHit2DCollection.h>
#include <DataFormats/CSCRecHit/interface/CSCSegmentCollection.h>

#include <FWCore/ParameterSet/interface/ParameterSet.h>
#include "DataFormats/CSCRecHit/interface/CSCRecHit2DCollection.h"
#include "DataFormats/CSCRecHit/interface/CSCSegmentCollection.h"
#include "FWCore/ParameterSet/interface/ParameterSet.h"
#include "FWCore/ParameterSet/interface/ParameterSetDescription.h"

class CSCGeometry;
class CSCSegmentAlgorithm;
Expand All @@ -32,6 +32,8 @@ class CSCSegmentBuilder {
/// Destructor
~CSCSegmentBuilder();

static void fillPSetDescription(edm::ParameterSetDescription& desc);

/** Find rechits in each CSCChamber, build CSCSegment's in each chamber,
* and fill into output collection.
*/
Expand Down
23 changes: 15 additions & 8 deletions RecoLocalMuon/CSCSegment/src/CSCSegmentProducer.cc
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,16 @@
*
*/

#include <RecoLocalMuon/CSCSegment/src/CSCSegmentProducer.h>
#include <RecoLocalMuon/CSCSegment/src/CSCSegmentBuilder.h>
#include "RecoLocalMuon/CSCSegment/src/CSCSegmentProducer.h"
#include "RecoLocalMuon/CSCSegment/src/CSCSegmentBuilder.h"

#include <DataFormats/Common/interface/Handle.h>
#include <FWCore/Framework/interface/ESHandle.h>
#include <FWCore/Utilities/interface/InputTag.h>
#include <FWCore/MessageLogger/interface/MessageLogger.h>
#include "DataFormats/Common/interface/Handle.h"
#include "FWCore/Framework/interface/ESHandle.h"
#include "FWCore/Utilities/interface/InputTag.h"
#include "FWCore/MessageLogger/interface/MessageLogger.h"

#include <DataFormats/CSCRecHit/interface/CSCSegmentCollection.h>
#include <DataFormats/CSCRecHit/interface/CSCSegment.h>
#include "DataFormats/CSCRecHit/interface/CSCSegmentCollection.h"
#include "DataFormats/CSCRecHit/interface/CSCSegment.h"

CSCSegmentProducer::CSCSegmentProducer(const edm::ParameterSet& pas) : iev(0) {
m_token = consumes<CSCRecHit2DCollection>(pas.getParameter<edm::InputTag>("inputObjects"));
Expand All @@ -22,6 +22,13 @@ CSCSegmentProducer::CSCSegmentProducer(const edm::ParameterSet& pas) : iev(0) {
produces<CSCSegmentCollection>();
}

void CSCSegmentProducer::fillDescriptions(edm::ConfigurationDescriptions& descriptions) {
edm::ParameterSetDescription desc;
desc.add<edm::InputTag>("inputObjects", edm::InputTag("csc2DRecHits"))->setComment("define input");
CSCSegmentBuilder::fillPSetDescription(desc);
descriptions.addWithDefaultLabel(desc);
}

CSCSegmentProducer::~CSCSegmentProducer() {
LogDebug("CSCSegment|CSC") << "deleting CSCSegmentBuilder after " << iev << " events w/csc data.";
delete segmentBuilder_;
Expand Down
5 changes: 5 additions & 0 deletions RecoLocalMuon/CSCSegment/src/CSCSegmentProducer.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,9 @@
#include "DataFormats/CSCRecHit/interface/CSCRecHit2DCollection.h"
#include "Geometry/Records/interface/MuonGeometryRecord.h"
#include "Geometry/CSCGeometry/interface/CSCGeometry.h"
#include "FWCore/ParameterSet/interface/ConfigurationDescriptions.h"
#include "FWCore/ParameterSet/interface/ParameterSet.h"
#include "FWCore/ParameterSet/interface/ParameterSetDescription.h"

class CSCSegmentBuilder;

Expand All @@ -28,6 +31,8 @@ class CSCSegmentProducer : public edm::stream::EDProducer<> {
/// Produce the CSCSegment collection
void produce(edm::Event&, const edm::EventSetup&) override;

static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);

private:
int iev; // events through
CSCSegmentBuilder* segmentBuilder_;
Expand Down
11 changes: 11 additions & 0 deletions RecoLocalTracker/SiPixelRecHits/plugins/SiPixelRecHitConverter.cc
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,9 @@
#include "FWCore/Framework/interface/MakerMacros.h"
#include "DataFormats/Common/interface/Handle.h"
#include "FWCore/Framework/interface/ESHandle.h"
#include "FWCore/ParameterSet/interface/ConfigurationDescriptions.h"
#include "FWCore/ParameterSet/interface/ParameterSet.h"
#include "FWCore/ParameterSet/interface/ParameterSetDescription.h"
#include "FWCore/Utilities/interface/InputTag.h"
#include "FWCore/Utilities/interface/EDPutToken.h"
#include "FWCore/Utilities/interface/ESGetToken.h"
Expand Down Expand Up @@ -95,6 +97,8 @@ namespace cms {
explicit SiPixelRecHitConverter(const edm::ParameterSet& conf);
~SiPixelRecHitConverter() override;

static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);

//--- Factory method to make CPE's depending on the ParameterSet
//--- Not sure if we need to make more than one CPE to run concurrently
//--- on different parts of the detector (e.g., one for the barrel and the
Expand Down Expand Up @@ -258,4 +262,11 @@ namespace cms {

using cms::SiPixelRecHitConverter;

void SiPixelRecHitConverter::fillDescriptions(edm::ConfigurationDescriptions& descriptions) {
edm::ParameterSetDescription desc;
desc.add<edm::InputTag>("src", edm::InputTag("siPixelClusters"));
desc.add<std::string>("CPE", "PixelCPEGeneric");
descriptions.addWithDefaultLabel(desc);
}

DEFINE_FWK_MODULE(SiPixelRecHitConverter);
7 changes: 2 additions & 5 deletions RecoLocalTracker/SiPixelRecHits/python/SiPixelRecHits_cfi.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,8 @@
from Configuration.ProcessModifiers.alpaka_cff import alpaka

# legacy pixel rechit producer
siPixelRecHits = cms.EDProducer("SiPixelRecHitConverter",
src = cms.InputTag("siPixelClusters"),
CPE = cms.string('PixelCPEGeneric'),
VerboseLevel = cms.untracked.int32(0)
)
from RecoLocalTracker.SiPixelRecHits.siPixelRecHitConverter_cfi import siPixelRecHitConverter as _siPixelRecHitConverter
siPixelRecHits = _siPixelRecHitConverter.clone()

# SwitchProducer wrapping the legacy pixel rechit producer
siPixelRecHitsPreSplitting = SwitchProducerCUDA(
Expand Down
Loading