Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GEM and ME0 realistic digitizer updates #18660

Merged
merged 31 commits into from Jun 15, 2017
Merged
Show file tree
Hide file tree
Changes from 30 commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
afbaafc
ME0 realistic digi updates
Apr 30, 2017
269e8ce
ME0 realistic digi updates
Apr 30, 2017
62d1b2c
expert customs in customizeMuonDigi.py
Apr 30, 2017
50b4191
ME0 realistic digi updates
Apr 30, 2017
09e03e4
ME0 realistic digi updates
Apr 30, 2017
cbe416a
ME0 realistic digi updates
Apr 30, 2017
1f04c58
new bkg model
Apr 30, 2017
bc6b17e
bugfix
Apr 30, 2017
e2596ae
bugfix
Apr 30, 2017
0dd5efd
consistent naming
Apr 30, 2017
79b2546
update label
Apr 30, 2017
d3efd39
background parameters fixed; obsolte code removed refference lumi par…
mileva Apr 30, 2017
ba39abd
fix identation
Apr 30, 2017
3718c3b
delete obsolete file
May 1, 2017
d22ebf9
delete obsolete file
May 1, 2017
818e85f
fix typo
May 2, 2017
5f99b8b
address comments by Kevin Pedro
May 17, 2017
490c57d
use new ME0 digi module names
May 16, 2017
226e9f4
modify rpcRedigi customization function to be less-verbatim
jhgoh May 17, 2017
4580e4a
missing rpcdigi parameters
jhgoh May 17, 2017
57c6487
load from IOMC
May 17, 2017
1363cfb
update configs
May 17, 2017
f0dfa62
remove unnecessary parameter modifications by switching digi modelling
jhgoh May 18, 2017
318ec65
ME0 and GEMDigis Models are modified after KPedro comments
milenadyu May 18, 2017
dc505d7
address comments by Kevin Pedro
May 18, 2017
5f99ea8
address comments by Kevin Pedro
May 18, 2017
62d802a
address comments by Kevin Pedro
May 18, 2017
b23afcb
ME0 and GEM removed hardcoded BKG params
milenadyu May 19, 2017
f2ad532
addressing questions by davidlange6 code optimizations (arrays)
milenadyu May 31, 2017
53b942b
removing underscore from cluster-vector
milenadyu May 31, 2017
7098ea7
suggestions by David Lange
Jun 9, 2017
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
9 changes: 7 additions & 2 deletions IOMC/RandomEngine/python/IOMC_cff.py
Expand Up @@ -173,7 +173,9 @@
randomEngineStateProducer = cms.EDProducer("RandomEngineStateProducer")

from Configuration.Eras.Modifier_run3_GEM_cff import run3_GEM
run3_GEM.toModify(RandomNumberGeneratorService, simMuonGEMDigis = cms.PSet(
run3_GEM.toModify(
RandomNumberGeneratorService,
simMuonGEMDigis = cms.PSet(
initialSeed = cms.untracked.uint32(1234567),
engineName = cms.untracked.string('HepJamesRandom')) )

Expand All @@ -183,7 +185,10 @@
simMuonME0Digis = cms.PSet(
initialSeed = cms.untracked.uint32(1234567),
engineName = cms.untracked.string('HepJamesRandom')),
simMuonME0ReDigis = cms.PSet(
simMuonME0PseudoDigis = cms.PSet(
initialSeed = cms.untracked.uint32(1234567),
engineName = cms.untracked.string('HepJamesRandom')),
simMuonME0PseudoReDigis = cms.PSet(
initialSeed = cms.untracked.uint32(7654321),
engineName = cms.untracked.string('HepJamesRandom'))
)
Expand Down
2 changes: 1 addition & 1 deletion RecoLocalMuon/GEMRecHit/python/me0RecHits_cfi.py
Expand Up @@ -3,5 +3,5 @@
me0RecHits = cms.EDProducer("ME0RecHitProducer",
recAlgoConfig = cms.PSet(),
recAlgo = cms.string('ME0RecHitStandardAlgo'),
me0DigiLabel = cms.InputTag("simMuonME0ReDigis"),
me0DigiLabel = cms.InputTag("simMuonME0PseudoReDigis"),
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can we settle on some common naming so that (local) reco configs do not get perturbed frequently just because of some internal DIGI-step reorganization?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@slava77 After this PR no more name changes are foreseen. The naming that is proposed is similar to the other muon digitizers simMuonME0Digis vs simMuonRPCDigis or simMuonGEMDigis,simMuonCSCDigis and simMuonDTDigis for realistic digis. simMuonME0PadDigis vs simMuonGEMPadDigis for pads. Pseudo digis now have the string Pseudo in them to distinguish them from real digis. Re-digitized pseudo digis for Muon TDR studies are called simMuonME0PseudoReDigis. This naming convention was agreed upon with other GEM/ME0 developers.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For my education, could you briefly summarize "pseudo" and "re"? (pseudo means smeared, and "re" means?) -perhaps the word "sim" needs to be dropped at some point along this chain

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pseudo means that the digis are of type ME0DigiPreReco. Real digis are of type ME0Digi. The pseudo digitization sequence for ME0 was introduced for performance studies (deciding layers, eta partitions, strips) for the Muon Upgrade TDR. This sequence will be taken out of the main digi step in the future. The real ME0 digi sequence is what will be used to build ME0 triggers and for continued ME0 performance studies.

)
2 changes: 1 addition & 1 deletion RecoLocalMuon/GEMSegment/test/TestME0SegmentAnalyzer.cc
Expand Up @@ -127,7 +127,7 @@ TestME0SegmentAnalyzer::TestME0SegmentAnalyzer(const edm::ParameterSet& iConfig)
//now do what ever initialization is needed
ME0Segment_Token = consumes<ME0SegmentCollection>(edm::InputTag("me0Segments","","ME0RERECO"));
ME0RecHit_Token = consumes<ME0RecHitCollection>(edm::InputTag("me0RecHits"));
ME0Digi_Token = consumes<ME0DigiPreRecoCollection>(edm::InputTag("simMuonME0Digis"));
ME0Digi_Token = consumes<ME0DigiPreRecoCollection>(edm::InputTag("simMuonME0PseudoReDigis"));
// ME0SimHit_Token =
rootFileName = iConfig.getUntrackedParameter<std::string>("RootFileName");
outputfile.reset(TFile::Open(rootFileName.c_str(), "RECREATE"));
Expand Down
5 changes: 0 additions & 5 deletions SimDataFormats/GEMDigiSimLink/interface/GEMDigiSimLinkfwd.h

This file was deleted.

61 changes: 61 additions & 0 deletions SimDataFormats/GEMDigiSimLink/interface/ME0DigiSimLink.h
@@ -0,0 +1,61 @@
#ifndef ME0OBJECTS_ME0DIGISIMLINK_H
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

until ME0DigiSimLink diverges from GEMDigiSimLink, please just define a typedef.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ME0DigiSimLink is now

#include "SimDataFormats/GEMDigiSimLink/interface/GEMDigiSimLink.h"
typedef GEMDigiSimLink ME0DigiSimLink;

#define ME0OBJECTS_ME0DIGISIMLINK_H

#include <utility>
#include "DataFormats/GeometryVector/interface/LocalPoint.h"
#include "DataFormats/GeometryVector/interface/LocalVector.h"
#include "SimDataFormats/EncodedEventId/interface/EncodedEventId.h"

class ME0DigiSimLink
{
public:
ME0DigiSimLink(std::pair<unsigned int, int> digi, Local3DPoint entryPoint, LocalVector momentumAtEntry,
float timeOfFlight, float energyLoss, int particleType, unsigned int detUnitId, unsigned int trackId,
EncodedEventId eventId, unsigned short processType)
{

_entryPoint = entryPoint;
_momentumAtEntry = momentumAtEntry;
_timeOfFlight = timeOfFlight;
_energyLoss = energyLoss;
_particleType = particleType;
_detUnitId = detUnitId;
_trackId = trackId;
_eventId = eventId;
_processType = processType;
_digi = digi;
}

ME0DigiSimLink() {;}

~ME0DigiSimLink() {;}

unsigned int getStrip() const {return _digi.first;}
unsigned int getBx() const{return _digi.second;}
Local3DPoint getEntryPoint() const{return _entryPoint;}
LocalVector getMomentumAtEntry() const{return _momentumAtEntry;}
float getTimeOfFlight() const{return _timeOfFlight;}
float getEnergyLoss() const{return _energyLoss;}
int getParticleType() const{return _particleType;}
unsigned int getDetUnitId() const{return _detUnitId;}
unsigned int getTrackId() const{return _trackId;}
EncodedEventId getEventId() const{return _eventId;}
unsigned short getProcessType() const{return _processType;}

inline bool operator<(const ME0DigiSimLink& other) const{return getStrip() < other.getStrip();}

private:
std::pair<unsigned int, int> _digi;

Local3DPoint _entryPoint;
LocalVector _momentumAtEntry;
float _timeOfFlight;
float _energyLoss;
int _particleType;
unsigned int _detUnitId;
unsigned int _trackId;
EncodedEventId _eventId;
unsigned short _processType;

};
#endif
1 change: 1 addition & 0 deletions SimDataFormats/GEMDigiSimLink/src/ME0DigiSimLink.cc
@@ -0,0 +1 @@
#include "SimDataFormats/GEMDigiSimLink/interface/ME0DigiSimLink.h"
8 changes: 8 additions & 0 deletions SimDataFormats/GEMDigiSimLink/src/classes.h
Expand Up @@ -10,6 +10,7 @@
#include <map>

#include "SimDataFormats/GEMDigiSimLink/interface/GEMDigiSimLink.h"
#include "SimDataFormats/GEMDigiSimLink/interface/ME0DigiSimLink.h"

namespace SimDataFormats_GEMDigiSimLink
{
Expand All @@ -21,6 +22,13 @@ namespace SimDataFormats_GEMDigiSimLink
edm::Wrapper<edm::DetSet<GEMDigiSimLink> > GEMDigiSimLinkDetSetWrapper;
edm::Wrapper<std::vector<edm::DetSet<GEMDigiSimLink> > > GEMDigiSimLinkVectorDetSet;
edm::Wrapper<edm::DetSetVector<GEMDigiSimLink> > GEMDigiSimLinkDetSetVectorWrapper;

edm::Wrapper<ME0DigiSimLink> ME0DigiSimLinkWrapper;
edm::Wrapper<std::vector<ME0DigiSimLink> > ME0DigiSimLinkVector;

edm::Wrapper<edm::DetSet<ME0DigiSimLink> > ME0DigiSimLinkDetSetWrapper;
edm::Wrapper<std::vector<edm::DetSet<ME0DigiSimLink> > > ME0DigiSimLinkVectorDetSet;
edm::Wrapper<edm::DetSetVector<ME0DigiSimLink> > ME0DigiSimLinkDetSetVectorWrapper;
};
}

Expand Down
11 changes: 11 additions & 0 deletions SimDataFormats/GEMDigiSimLink/src/classes_def.xml
Expand Up @@ -10,4 +10,15 @@
<class name="edm::Wrapper< edm::DetSet<GEMDigiSimLink> >" splitLevel="0" />
<class name="edm::Wrapper< std::vector<edm::DetSet<GEMDigiSimLink> > >" splitLevel="0" />
<class name="edm::Wrapper< edm::DetSetVector<GEMDigiSimLink> >" splitLevel="0" />

<class name="ME0DigiSimLink" ClassVersion="10">
<version ClassVersion="10" checksum="166188478"/>
</class>
<class name="edm::DetSet<ME0DigiSimLink>"/>
<class name="std::vector<ME0DigiSimLink>"/>
<class name="edm::DetSetVector<ME0DigiSimLink>"/>
<class name="std::vector<edm::DetSet<ME0DigiSimLink> >"/>
<class name="edm::Wrapper< edm::DetSet<ME0DigiSimLink> >" splitLevel="0" />
<class name="edm::Wrapper< std::vector<edm::DetSet<ME0DigiSimLink> > >" splitLevel="0" />
<class name="edm::Wrapper< edm::DetSetVector<ME0DigiSimLink> >" splitLevel="0" />
</lcgdict>
12 changes: 8 additions & 4 deletions SimMuon/Configuration/python/SimMuon_EventContent_cff.py
Expand Up @@ -41,10 +41,14 @@

from Configuration.Eras.Modifier_run3_GEM_cff import run3_GEM
run3_GEM.toModify( SimMuonFEVTDEBUG, outputCommands = SimMuonFEVTDEBUG.outputCommands + ['keep *_simMuonGEMDigis_*_*',
'keep *_simMuonGEMPadDigis_*_*',
'keep *_simMuonGEMPadDigiClusters_*_*'] )
'keep *_simMuonGEMPadDigis_*_*',
'keep *_simMuonGEMPadDigiClusters_*_*'] )
run3_GEM.toModify( SimMuonRAW, outputCommands = SimMuonRAW.outputCommands + ['keep StripDigiSimLinkedmDetSetVector_simMuonGEMDigis_*_*'] )
run3_GEM.toModify( SimMuonRECO, outputCommands = SimMuonRECO.outputCommands + ['keep StripDigiSimLinkedmDetSetVector_simMuonGEMDigis_*_*'] )
from Configuration.Eras.Modifier_phase2_muon_cff import phase2_muon
phase2_muon.toModify( SimMuonFEVTDEBUG, outputCommands = SimMuonFEVTDEBUG.outputCommands + ['keep *_simMuonME0Digis_*_*',
'keep *_simMuonME0ReDigis_*_*'] )
phase2_muon.toModify( SimMuonFEVTDEBUG, outputCommands = SimMuonFEVTDEBUG.outputCommands + ['keep *_simMuonME0PseudoDigis_*_*',
'keep *_simMuonME0PseudoReDigis_*_*',
'keep *_simMuonME0Digis_*_*',
'keep *_simMuonME0PadDigis_*_*'] )
phase2_muon.toModify( SimMuonRAW, outputCommands = SimMuonRAW.outputCommands + ['keep StripDigiSimLinkedmDetSetVector_simMuonME0Digis_*_*'] )
phase2_muon.toModify( SimMuonRECO, outputCommands = SimMuonRECO.outputCommands + ['keep StripDigiSimLinkedmDetSetVector_simMuonME0Digis_*_*'] )