2010 HI Dilepton Trigger Study with Tag and Probe Method
Basement of Study
- General Tag and Probe Method : link
- Muon Tag and Probe Method : link
- Tag and Probe Software : link
- Quarkonia Task Force T & P : link
- Tutorial : link
Motivation
- Compare to the Trigger Efficiency between using MC and Tag & Probe method for the November HI data
Selection Condition
- HI Dilepton Muon Sellection for Global Muon reconstruction Efficiency (20101103 updated) Example for Z0
- Definition of Tag muons : SinlgeMu3 (hltL1Mu3L1Filtered0)
process.tagMuons = cms.EDFilter("PATMuonSelector",
src = cms.InputTag("patMuonsWithTrigger"),
cut = cms.string("isGlobalMuon && !triggerObjectMatchesByFilter('hltL1Mu3L1Filtered0').empty()"),
)
-
- Definition of Probe muons
process.tkTracks = cms.EDProducer("ConcreteChargedCandidateProducer",
src = cms.InputTag("hiGlobalPrimTracks"), # L4
particleType = cms.string("mu+"),
)
process.tkProbes = cms.EDFilter("CandViewRefSelector",
src = cms.InputTag("tkTracks"),
cut = cms.string("pt > 0 && abs(eta) < 2.4"),
)
-
- Passing probe condition : inside of mass cut region and triggered events
process.tpPairs = cms.EDProducer("CandViewShallowCloneCombiner",
#cut = cms.string('2.6 < mass < 3.6'),
cut = cms.string(''),
decay = cms.string('tagMuons@+ probeMuons@-')
)
process.tkToGlbMatch = cms.EDProducer("MatcherUsingTracks",
src = cms.InputTag("tkTracks"), # all tracks are available for matching
matched = cms.InputTag("glbMuons"), # to all global muons
algorithm = cms.string("byDirectComparison"), # check that they
srcTrack = cms.string("tracker"), # have the same
srcState = cms.string("atVertex"), # tracker track
matchedTrack = cms.string("tracker"), # can't check ref
matchedState = cms.string("atVertex"), # because of the
maxDeltaR = cms.double(0.01), # embedding.
maxDeltaLocalPos = cms.double(0.01),
maxDeltaPtRel = cms.double(0.01),
sortBy = cms.string("deltaR"),
)
process.tkPassingGlb = cms.EDProducer("MatchedCandidateSelector",
src = cms.InputTag("tkProbes"),
match = cms.InputTag("tkToGlbMatch"),
)
- HI Dilepton Muon Sellection for Trigger Efficiency (20101103 updated): Example for Z0
- Definition of Tag muons : SinlgeMu3 (hltL1Mu3L1Filtered0), SingleMu5 (hltL1Mu5L1Filtered0) .. etc
process.tagMuons = cms.EDFilter("PATMuonSelector",
src = cms.InputTag("patMuonsWithTrigger"),
cut = cms.string("isGlobalMuon && !triggerObjectMatchesByFilter('hltL1Mu3L1Filtered0').empty()"),
)
-
- Definition of Probe muons
process.probeMuons = cms.EDFilter("PATMuonSelector",
src = cms.InputTag("patMuonsWithTrigger"),
cut = cms.string("isGlobalMuon"),
)
-
- Passing probe condition : inside of mass cut region and triggered events
process.tpPairs = cms.EDProducer("CandViewShallowCloneCombiner",
#cut = cms.string('2.6 < mass < 3.6'),
cut = cms.string(''),
decay = cms.string('tagMuons@+ probeMuons@-')
)
- Default of QTF TnP :
- Muon Collection : mergedCaloMuons
# Merge calomuons into the collection of muons
from RecoMuon.MuonIdentification.calomuons_cfi import calomuons;
process.mergedMuons = cms.EDProducer("CaloMuonMerger",
muons = cms.InputTag("muons"),
caloMuons = cms.InputTag("calomuons"),
tracks = cms.InputTag("hiSelectedTracks"),
minCaloCompatibility = calomuons.minCaloCompatibility,
muonsCut = cms.string("track.isNonnull"),
caloMuonsCut = cms.string(""),
tracksCut = cms.string("pt > 2 || (abs(eta) > 1 && p > 2)"),
)
process.tagMuons = cms.EDFilter("PATMuonSelector",
src = cms.InputTag("patMuonsWithTrigger"),
cut = cms.string("isGlobalMuon"),
)
-
- ProbeMuons : allMuons (all tracks among the mergedCaloMuons)
process.probeMuons = cms.EDFilter("PATMuonSelector",
src = cms.InputTag("patMuonsWithTrigger"),
cut = cms.string("track.isNonnull"),
)
- Total Efficiency : e_trk * e_reco * e_trg
- Definition of each of Efficiency = (Passing Probe)/(All of pairs)
Recipe with HI MC
- Option changed accroding to HI Dilepton group selection (2010/10/22)
- Only making PAT Muons : hiPatMuonsProducer_cfg.py
- Setup update (2010/10/15)
- How to use
- QTF method
- tp_hi_mc.py
: modified from QTF method to produce Fit Tree (input RecoSamples)
- hiFitTrigger.py
: modified from QTF method to analyze Tree information of output file of tp_hi_mc.py
- General TnP
- tp_hi_Prod_mc.py
: modified from testTagAndProbeFitTreeProducer_JpsiMuMu.py to produce Fit Tree (input RecoSamples)
- tp_hi_Ana_mc.py
: modified from testTagAndProbeFitTreeProducer_JpsiMuMu.py to analyze Tree information of output file of tp_hi_Prod_mc.py
- Setup at 390pre4 and pre5 (2010/10/11)
addpkg PhysicsTools/TagAndProbe V02-06-11 (or later)
addpkg MuonAnalysis/MuonAssociators V01-10-00
addpkg MuonAnalysis/TagAndProbe V07-01-00
addpkg PhysicsTools/PatAlgos
cvs update -rV08-01-02 PhysicsTools/PatAlgos/python/tools/helpers.py
- 1. Following QTF Method : MuonAnalysis/TagAndProbe/ (390pre4)
- remove MuonAnalysis/TagAndProbe/plugin/MuonSelectorJPsi.cc, MuonSelectorJPsiPlusMu.cc, MuonSelectorWmunu.cc (not build at 390pre4, but don't need for HI PAT)
- in the /afs/cern.ch/user/d/dmoon/public/html/TagAndProb
- tp_hi_mc.py : modified from tp_from_aod_simple_MC.py
- process order : recoMuFilter >> Make PAT Muons with Trigger Match >> TagAndProbeTreeProducer
- hiFitTirgger.py : modified from fitTrigger.py
- TagAndProbeTreeAnalyzer
- 2. Following the Method to use "Reco Sample" directly (not using PAT) : PhysicsTools/TagAndProbe/ (390pre5)
- in the PhysicsTools/TagAndProbe/test/
- 3. Changing 2nd method with PAT muons (ongoing)
Result
L1DoubleMuOpen Trigger Efficiency for Z0 (20101103 updated)
Global Muon Reconstruction Efficiency for Z0 (20101103 updated)
L1DoubleMuOpen Trigger Efficiency
- Samples : 3000 J/psis Embedded on MB Hydjet, /castor/cern.ch/user/d/dmoon/cms390pre5/Hydjet_MinBias_2.76TeV_Jpsi_Flat_Emb_HLT_Reco/
- flag setup in FitTreeProducer : tp_hi_Prod_mc.py
flags = cms.PSet(
Glb = cms.string("isGlobalMuon"),
TM = cms.string("isTrackerMuon"),
L1DoubleMuOpen = cms.string("!triggerObjectMatchesByFilter('hltDoubleMuLevel1PathL1OpenFiltered').empty()"),
),
- eta and pt bin size modified and L1DoubleMuOpen Trigger added in FitTreeAnalyzer : tp_hi_Ana_mc.py
L1DoubleMuOpen_pt_eta = cms.PSet(
EfficiencyCategoryAndState = cms.vstring("L1DoubleMuOpen","true"),
UnbinnedVariables = cms.vstring("mass"),
BinnedVariables = cms.PSet(
#pt = cms.vdouble(3.0, 6.0, 20.0),
#pt = cms.vdouble(0.0, 3.0, 6.0, 9.0, 12.0, 15.0, 18.0, 20.0),
pt = cms.vdouble(0.0, 2.0, 4.0, 6.0, 8.0, 10.0),
#abseta = cms.vdouble(0.0, 1.2, 2.4),
#abseta = cms.vdouble(0.0, 0.6, 1.2, 1.6, 2.4),
eta = cms.vdouble(-2.4, -1.2, 0.0, 1.2, 2.4),
),
BinToPDFmap = cms.vstring("gaussPlusLinear", "*pt_bin0*", "gaussPlusQuadratic")
),
- Trigger Efficiency pt and eta depending on each pt and eta bins
|
|
|
|
|
eta eff pt_bin0 |
eta eff pt_bin1 |
eta eff pt_bin2 |
eta eff pt_bin3 |
eta eff pt_bin4 |
|
|
|
|
pt eff eta_bin0 |
pt eff eta_bin1 |
pt eff eta_bin2 |
pt eff eta_bin3 |
- One of Example for Mass distribution and fitting as the passing/failing/all probes
|
|
Mass distribution Passing/Failing/All probes |
Mass fitting Passing/Failing/All probes |
- L1DoubleMuOpen? Trigger Efficiency pt vs eta
|
Trigger Efficiency L1DoubleMuOpen pt vs eta |
Bug report
- 2010/10/15 : Error message from Making PAT Muons
%MSG
%MSG-e DataNotAvailable: PATMuonProducer:patMuonsWithoutTrigger 15-Oct-2010 12:53:13 CEST Run: 1 Event: 3
No primary vertex available from EventSetup, not adding high level selection
beamLineSrc = cms.InputTag("hltOfflineBeamSpot"), # Heavy Ion BeamSpot
pvSrc = cms.InputTag("hiSelectedVertex") # Heavy Ion vertex collection
%MSG
%MSG-e errorTriggerResultsValid: PATTriggerProducer:patTrigger 15-Oct-2010 12:53:12 CEST Run: 1 Event: 2
TriggerResults product with InputTag TriggerResults::HLT not in event
No HLT information produced.
-
- This is coming from that can't get trigger result correctly due to different process name
- solved, to add 2 lines in the configuration file as below
from MuonAnalysis.MuonAssociators.hiPatMuonsWithTrigger_cff import changeTriggerProcessName
changeTriggerProcessName(process, "HISIGNAL") # Custom re-run HLT
Todo list
- tuning the environmental setup of Analyzer
- bug fixing trigger info and vertex problem in making PATMuons
--
DongHoMoon - 11 Oct 2010