Title: 3rd CMS Korea Collaboration Meeting
1Muon validation
- 3rd CMS Korea Collaboration Meeting
- Junghwan Goh(SKKU)
- 2008.09.12
- Contents
- Overview
- Validation modules
- PostProcessor
- Web publishing
- Integration to RelVal
- Summary
2Automatic software validation
SE
SE
GEN
SIM
DIGI
HLT
RECO
Module1
Module2
Module3
Module4
- Large MC samples are generated periodically, for
each major release of CMSSW Release Validation
(RelVal) - SW performance can be measured by appending
validation modules in the RelVal sequence - Performance monitoring applying Data quality
monitoring (DQM) tools
3Requirements
- Develop EDAnalyzer modules
- That creates histograms which is useful to check
SW performance - Histograms must be booked using DQMStore service
in CMSSW - Provide default configuration files to be used in
the RelVal production - No problem to integrate to the RelVal sequence
- No crash, Not too much memory usage,
Grid-operated, etc - Thats all!
- All other required tools may be provided by
validation team -) - Of course one can contribute other things
4Elements for the muon validation
- Validation modules
- We are using 2(or can be more) validation modules
- MultiTrackValidator
- Developed by track validation people
- Compares TrackingParticle(MC truth) and
recoTrack - RecoMuonValidator
- We made it -)
- Compares TrackingParticle(MC truth) and 3 types
of recoTrack(TRK, STA, GLB) and recoMuon - PostProcessor
- Additional module is required to build plots
where full statistics is necessary (Efficiency or
resolution plots) - Generic tool, configurable using CMSSW cfg
language - Applicable to other groups
5Muon validation dataflow
GEN
TPproducer
TPSelector
SIM
TrackAssociator
DIGI
MultiTrackV
generalTracks
standAloneMuons
RecoMuonV
RECO
globalMuons
muons
6MC-RECO association
- Adopted the standard association methods
- Clean and robust validator, matured associators
- Validation modules just read collection of
association map produced by EDProducer modules - The association map type will be
OneToManyCollection, associating
TrackingParticle (MC) and recoTrack - Many association methods are available
- TrackAssociator and MuonAssociatorByHits are used
- TrackAssociator provides various algorithms of
association by hits, position deltaR, etc. - Now both of them can be considered as production
level packages
7RecoMuonValidator
- Muon object has its own structure and information
- 3 kind of muon tracks are linked in one object
- Differences between tracker-standalone-global
muons - Additional information, which are not in
recoTrack - caloComaptiblity()
- Information that will not important in track
validation - But still, all of muons are tracks, so we can
store track variables too - Directory structure for RecoMuonValidator
- /Muons Common, muon specific variables
- /Trk track variables for Tracker muons
- /Sta track variables for standalone muons
- /Glb track variables for global muons
8PostProcessor module
- Some plots need full statistics to be generated
- Efficiency plot (Division of total number of
reconstructed tracks by total number of generated
tracks) - Resolution plots (Fit with gaussian, slicing 2d
histograms along Y axis) - Note that RelVal samples are generated at the
grid - A generic tool
- Functions like division or sliced-fit are used in
common - Generic and powerful features can attract people
in other groups
9Example cfg for PostProcessor
Loop over all directories Starting with Reco
process.postProcessor cms.EDFilter("PostProcesso
r", subDir cms.untracked.string(RecoMuonV/R
eco), effCmds cms.vstring(\ Sta/EffPt
Standalone muons Efficiency vs p_T Sta/Pt
Muons/SimPt, Glb/EffPt Global muons
Efficiency vs p_T Glb/Pt
Muons/SimPt, Muons/StaToGlbEffPt Standalone
to Global muons effficiency vs p_T Sta/Pt
Glb/Pt), resCmds cms.vstring(\ Glb/ResPtVs
Eta Global muons p_T Resolution vs eta
Glb/EffPt_vs_Eta, Sta/ResPullEtaVsEta
Standalone muons Pull eta vs eta
Sta/PullEta_vs_Eta), Leave outputFileName
to be Null string if don't want to save
histograms manually outputFileName
cms.untracked.string('') ) process.p1
cms.Path(process.EDMtoMEConverter
process.postProcessor
process.dqmSaver)
List of commandsto be processed. effCmds for
efficiencyand resCmds for resolution
10Publishing
- In general, DQM data can be monitored by various
user interfaces - Validation plots can also be monitored in the DQM
browser - But seems not working for now displaying no
DQM source - As an alternative way,we publish validation
results in own web page - Static page dump root files to jpg images
- Development is finished
- Someone should keep managing, need large disk,
limited functionalities - We developed a dynamic web interface root
histograms are drawn on-the-fly
11Dynamic drawing of root objects
- Based on the public software
- Apache web server, ROOT and python
- CMSSW is not required
- This is also a generic tool not restricted on
CMSSW - How it works
- We write a CGI program in python language
- Let python know where root library is located
- Call (py)ROOT functions read a root file, find
histogram, draw to a tempfile, print out to the
web server - Can be accelerated with some special settings
fastCGI, python-mod - Disadvantages
- High CPU load cannot be hosted in shared server
(like cern public web service) - Cannot expect your server supports acceleration
extension you need your own server
12Dynamic histogram drawing in action
- Arguments to pass
- hfileName1.root/Path/To/Obj1,fileName1.root/Pat
h/To/Obj2,fileName2.root/Path/To/Other/Obj3 - logx, logy, gridx, gridy ,
- xminvalue, xmaxvalue, ymin, ymax,
Try this URL http//ihep4.skku.ac.kr/jhgoh/pytho
n/rootView.py?hCMSSW_2_1_9/RelValZMM.root/DQMDat
a/RecoMuonV/RecoMuon_MuonAssoc/Sta/EffEta,CMSSW_2_
1_8/RelValZMM.root/DQMData/RecoMuonV/RecoMuon_Muo
nAssoc/Sta/EffEta,height500width600ymin0gri
dxgridy
13Web interface to Validation plots
- Similar interface to previous Static web pages
(see presentation in the last CMS-KR meeting - But simper publishing procedure just upload
root files to data directory - http//ihep4.skku.ac.kr/jhgoh/CMS/Validation/
- Select Collate by combo-box to give overlay
option
Select Validation module, Subsystems, SW
release, Data sample And set options
Click Link toEnlargeimages
14Integration to RelVal production
- We are negotiating with Validation and Release
Validation people - Which path/sequence is fit for our module
- Actually, RelVal is consist of 2 steps, so
validation modules should be place in the right
step - GEN-SIM-DIGI-RAW-HLT DIGI or HLT level
validators - RECO RECO level validators possible to access
SIM? - Until now, no RECO level validators are
operational - Modules are present, but not attached in the
RelVal production path - Developers must consider memory usage of own
modules reduce number of bins especially on
the 2D histograms
15How to access resources
- All source codes are maintained at the CMSSW CVS
- As a sub-package of CMSSW
- Validation/RecoMuon
- User-level helper script/executables are also
available at CVS - UserCode/JHGoh/Validation
- Documentation will be provided in the CMS twiki
- https//twiki.cern.ch/twiki/bin/view/CMS/RecoMuonV
alidationSuite - Content is obsolete for now, but will be updated
soon
16Summary and Prospect
- We developed many elements for automatic muon
validation - RecoMuonValidator for muons
- Adopt MultiTrackValidator for track variables
- PostProcessor for efficiency/resolution plots
- Web interface is also available
- Root histograms can be dynamically drawn in the
web - Can be improved
- Integration to Release validation is ongoing
- We are negotiating with related people
- Muon validation might be the first RECO level
validator integrated to RelVal ( Hopefully -) )