Higgs Trigger Validation
The cmssw release trigger validation is done within the PdmV group. Each release should be validated, just comparing with some release of reference, and reported each new release period at
PdmV Trigger Validation twiki
Code Integration
The code can be found at cvs repository in
HLTriggerOffline/Higgs. The tag conventions XX-YY-ZZ are as following:
- XX: increases by one when the code breaks off with respect the old one. Therefore, the code is incompatible with the last tag. Some examples: trigger paths removed from the hltHiggsValidator_cfi.py, folders (analysis) removed from the validation,...
- YY: increases by one when new functionalities have been incorporated in the code without breaking it. Code compatible with the last tag. Some examples: trigger paths added to the hltHiggsValidator_cfi.py, folders (analysis) added, histograms or plots added, ...
- ZZ: increases by one mainly when a bug(s) has been fixed.
Tag |
RELEASES DQM integrated |
Description |
V01-00-00 |
52X (missing 60Y), where X>=3 |
New code released |
V01-00-01 |
52X, 60Y, where X>=3 |
Fixed Error -> Warning when a trigger path is not found, Removed HLT_LooseIsoPFTau35_Trk20_MET75 |
Tag Collector
Code description
Code Validation Process
Compilation and previous checks: using a 5_2_0 release from scratch
In order to check all the code is in good place, with all the needed libraries and so on: downloading from scratch in a clean lxplus environment:
ssh -X lxplus.cern.ch
[duarte@lxplus440:~/scratch0/TEST_CMSSW]$ export SCRAM_ARCH=slc5_amd64_gcc462
[duarte@lxplus440:~/scratch0/TEST_CMSSW]$ cmsrel CMSSW_5_2_0
[duarte@lxplus440:~/scratch0/TEST_CMSSW]$ cd CMSSW_5_2_0/src/ && cvs co HLTriggerOffline/Higgs
[duarte@lxplus440:~/scratch0/TEST_CMSSW/CMSSW_5_2_0/src/HLTriggerOffline/Higgs]$ scramv1 b -j8
>> Local Products Rules ..... started
>> Local Products Rules ..... done
>> Entering Package HLTriggerOffline/Higgs
>> Creating project symlinks
src/HLTriggerOffline/Higgs/python -> python/HLTriggerOffline/Higgs
Entering library rule at HLTriggerOffline/Higgs
>> Compiling edm plugin /afs/cern.ch/user/d/duarte/scratch0/TEST_CMSSW/CMSSW_5_2_0/src/HLTriggerOffline/Higgs/src/EVTColContainer.cc
>> Compiling edm plugin /afs/cern.ch/user/d/duarte/scratch0/TEST_CMSSW/CMSSW_5_2_0/src/HLTriggerOffline/Higgs/src/HLTHiggsPlotter.cc
>> Compiling edm plugin /afs/cern.ch/user/d/duarte/scratch0/TEST_CMSSW/CMSSW_5_2_0/src/HLTriggerOffline/Higgs/src/HLTHiggsSubAnalysis.cc
>> Compiling edm plugin /afs/cern.ch/user/d/duarte/scratch0/TEST_CMSSW/CMSSW_5_2_0/src/HLTriggerOffline/Higgs/src/HLTHiggsValidator.cc
>> Compiling edm plugin /afs/cern.ch/user/d/duarte/scratch0/TEST_CMSSW/CMSSW_5_2_0/src/HLTriggerOffline/Higgs/src/MatchStruct.cc
>> Compiling edm plugin /afs/cern.ch/user/d/duarte/scratch0/TEST_CMSSW/CMSSW_5_2_0/src/HLTriggerOffline/Higgs/src/SealModules.cc
>> Building edm plugin tmp/slc5_amd64_gcc462/src/HLTriggerOffline/Higgs/src/HLTriggerOfflineHiggs/libHLTriggerOfflineHiggs.so
Leaving library rule at HLTriggerOffline/Higgs
@@@@ Running edmWriteConfigs for HLTriggerOfflineHiggs
--- Registered EDM Plugin: HLTriggerOfflineHiggs
>> Leaving Package HLTriggerOffline/Higgs
>> Package HLTriggerOffline/Higgs built
>> Local Products Rules ..... started
>> Local Products Rules ..... done
gmake[1]: Entering directory `/afs/cern.ch/user/d/duarte/scratch0/TEST_CMSSW/CMSSW_5_2_0'
@@@@ Refreshing Plugins:edmPluginRefresh
>> Creating project symlinks
>> Done python_symlink
>> Compiling python modules cfipython/slc5_amd64_gcc462
>> Compiling python modules src/HLTriggerOffline/Higgs/python
>> Compiling python modules python
>> Pluging of all type refreshed.
>> All python modules compiled
gmake[1]: Leaving directory `/afs/cern.ch/user/d/duarte/scratch0/TEST_CMSSW/CMSSW_5_2_0'
So the code compiles fine and is ready to be tested
RelVal Testing procedure. DQM group instructions
For introduce the code in the
DMQforMC it is needed to proceed with the instructions found in
RelValTesting twiki page. The test procedure is divided in three steps. The procedure has been followed for the
Full Simulation. It was run at a lxplus from scratch, so in order to reproduce it in a lxplus don't forget:
ulimit -S -v unlimited
- Used the MC sample: /RelValH130GGgluonfusion/CMSSW_5_2_0-START52_V4A-v1/GEN-SIM-DIGI-RAW-HLTDEBUG (Note that if you want to generate your our datasample, you can do it using
cmsDriver.py SingleMuPt10.cfi -s GEN,SIM,DIGI,L1,DIGI2RAW,HLT:GRun -n 10 --eventcontent FEVTDEBUGHLT --conditions auto:mc --mc --no_exec
The SingleMuPt10.cfi file was extracted from Configuration/Generator/python where there are other options...)
- Run the combined RelVal+DQMOffline histogramming (step2)
cmsDriver.py step2 -s RAW2DIGI,RECO,VALIDATION,DQM -n 10 --filein /store/relval/CMSSW_5_2_0/RelValH130GGgluonfusion/GEN-SIM-DIGI-RAW-HLTDEBUG/START52_V4A-v1/0000/34331C19-FE68-E111-A291-001A9281171E.root --eventcontent FEVTDEBUGHLT --conditions auto:mc --mc --no_exec
You can search for HLTDEBUG samples in DBS (after initialized the environment with the cmssetup) dbs search --query='find dataset where dataset = *RelVal*5_2_0-*GEN-SIM-DIGI-RAW-HLTDEBUG*'
- Run the combined RelVal+DQMOffline harvesting (step3)
cmsDriver.py step3 -s HARVESTING:validationHarvesting+dqmHarvesting --harvesting AtRunEnd --conditions auto:mc --filein file:step2_RAW2DIGI_RECO_VALIDATION_DQM.root --mc --no_exec
After the steps a root file
DQM_*_CMSSW_X_Y_Z__RECO.root
has been created a filled with the histograms which have been defined. All seems to be OK
Trigger group procedure. TSG group instructions
TSG group instructions
Package description
The validation is done between releases by comparing the efficiencies of some selected triggers used by several Higgs analysis. These
efficiencies are calculated as follows,
- DENOMINATOR pt,eta,phi of the gen/reco objects (which pass some analysis dependent requirements)
- NUMERATOR pt,eta,phi of the gen/reco PASSING the monitored trigger
The efficiencies calculations are done for HWW, HZZ, H
, Htaunu, H2tau and Hbb, analysis within the Higgs PAG. Actually, and in the context of MC release validation, the efficiencies are going to be calculated in events which contain the objects of interest in each analysis, where have been applied some loose and minor cuts. A set of the more critical triggers for each analysis are being monitored whenever a new release is introduced. After consulting the trigger experts, the trigger paths to be monitored are: (
STILL IN PROCESS TO BE DEFINED )
Analysis |
Cuts |
Triggers |
HWW |
2 with , AND ( ( AND isGlobalMuon ) OR ( AND H/E < 0.05 AND 0.6 < E/p < 2.5)) |
HLT_Mu17_Mu8 |
HLT_Mu17_TkMu8 |
HLT_Mu8_Ele17_CaloIdT_CaloIsoVL_TrkIdVL_TrkIsoVL |
HLT_Mu17_Ele8_CaloIdT_CaloIsoVL_TrkIdVL_TrkIsoVL |
HLT_Ele17_CaloIdT_CaloIsoVL_TrkIdVL_TrkIsoVL_Ele8_CaloIdT_CaloIsoVL_TrkIdVL_TrkIsoVL |
HZZ |
4 with , AND ( ( AND isGlobalMuon ) OR ( AND H/E < 0.05 AND 0.6 < E/p < 2.5)) |
HLT_Ele17_CaloIdT_CaloIsoVL_TrkIdVL_TrkIsoVL_Ele8_CaloIdT_CaloIsoVL_TrkIdVL_TrkIsoVL |
HLT_Mu17_TkMu8 |
HLT_Ele20_CaloIdVT_CaloIsoVT_TrkIdT_TrkIsoVT_SC4_Mass50 |
HLT_Mu24_eta2p1 |
HLT_Mu5_Track3p5 |
Hgg |
2 photons with , AND { R9 > 0.85 OR { if endcap) AND AND AND ] } |
HLT_Photon26_R9Id85_OR_CaloId10_Iso50_Photon18_R9Id85_OR_CaloId10_Iso50_Mass50 |
HLT_Photon36_R9Id85_OR_CaloId10_Iso50_Photon22_R9Id85_OR_CaloId10_Iso50 |
Htaunu |
MISSING INFORMATION |
HLT_LooseIsoPFTau35_Trk20_MET75 |
H2Taus |
MISSING INFORMATION |
HLT_Ele20_CaloIdVT_CaloIsoTRho_TrkIdT_TrkIsoT_LooseIsoPFTau20 |
HLT_IsoMu18_LooseIsoPFTau20 |
Hbb |
|
HLT_Mu17_Mu8 |
HLT_Ele17_CaloIdT_CaloIsoVL_TrkIdVL_TrkIsoVL_Ele8_CaloIdT_CaloIsoVL_TrkIdVL_TrkIsoVL |
HLT_IsoMu24_eta2p1_CentralPFJet30_CentralPFJet25_PFMHT20 |
HLT_Ele27_WP80_CentralPFJet30_CentralPFJet25_PFMHT20 |
HLT_DiCentralPFJet30_CaloMET50_dPhi1_PFMHT80_HBHENoiseFiltered_dPhi1 |
HLT_Jet80Eta1p7_Jet70Eta1p7_L1FastJet_DiBTagIP3D |
HLT_Mu12_eta2p1_DiCentralL1FastJet_40_20_DiBTagIP3D1stTrack |
HLT_Mu15_eta2p1_TriCentralL1FastJet_40_20_20_DiBTagIP3D1stTrack |
The trigger paths also can be found, and probably with the latest changes, on this
spreadsheet
Configuration
The
hltHiggsValidator_cfi.py configuration file is the place where to include the path to be monitored
Validation: defining the baseline release
After put the new code in place and define the trigger paths we want to monitor, we have to define the baseline plots which are going to be used as reference. We have to found a release we agree is ok:
5_2_2 has been validated by all the other PAG/POG, so we would assume it is ok. The samples needed to be able of validate all the channels are not fully defined, trying to do it here:
Analysis |
GEN/RECO objects involved |
RelVal Sample |
Availability |
HWW |
electrons, muons |
-------- |
H165WW2L config python |
HZZ |
electrons, muons |
-------- |
H200ZZ4L config python |
Hgg |
photons |
/RelValH130GGgluonfusion |
GEN-SIM-RECO, GEN-SIM-DIGI-RAW-HLTDEBUG |
Htaunu |
taus, MET (neutrinos) |
?? |
GEN-SIM-RECO, GEN-SIM-DIGI-RAW-HLTDEBUG |
H2tau |
taus |
/RelValHiggs200ChargedTaus |
GEN-SIM-RECO, GEN-SIM-DIGI-RAW-HLTDEBUG |
Hbb |
jets, leptons, MET,... |
/RelValTTbar |
GEN-SIM-RECO, GEN-SIM-DIGI-RAW-HLTDEBUG |
samples
--
JordiDuarte - 19-Mar-2012