2016 pPb Flow HLT Training

Useful link

HeavyIon HLT 2016 twiki: https://twiki.cern.ch/twiki/bin/view/CMS/HeavyIonsHLT2016

Slack chanel: #2016flowtriggerval

Trigger efficiency day by day

2016-12-05: final_turnOns_HMtriggers_pPb8TeV_V2.pdf

2016-12-02: MeanValueOfTC_vs_BXrange_PlusTCturnon_V5.pdf

2016-12-01: MeanValueOfTC_vs_BXrange_PlusTCturnon_V4.pdf

2016-11-29: MeanValueOfTC_vs_BXrange_PlusTCturnon_V3.pdf

2016-11-28: MeanValueOfTC_vs_BXrange.pdf , MeanValueOfTC_vs_BXrange_PlusTCturnon.pdf , MeanValueOfTC_vs_BXrange_PlusTCturnon_V2.pdf

2016-11-27: TCturnons_BXranges_triggerMeeting27112016.pdf

2016-11-25: TCturnons_BXranges.pdf

2016-11-24: TC_Run285759.pdf

2016-11-23: TC_120_150_DividingBigFillsIn4_PlotPart1_and_Part4.pdf

2016-11-22: TCturn-on_PreviousRuns_AddingRun285684.pdf , TCturn-on_PreviousRuns_AddingRun285718.pdf

2016-11-21: TC_turn-ons_Runs_V1.pdf

2016-11-20: HM_HFSumEt_plusHighPt_triggers_ReTunning.pdf

2016-11-18: FlowCorrelationTriggers_Forest_Run285480_V2.pdf

2016-11-16: trigger_eff_FlowCorr_Runs285216and285244_Allexpress_32MEvts.pdf

2016-11-15: trigger_eff_FlowCorr_Run285216_AllForests_14MEvts.pdf

2016-11-14: trigger_eff_FlowCorr_Run285216_forest_2p6Mevts_and_Emulation12MEvts.pdf

2016-11-11: Trigger_Eff_Run285090_FlowGroup.pdf


vidyo link (flow PInG room): http://vidyoportal.cern.ch/flex.html?roomdirect.html&key=z3UIqXc3dZvp


Zhenyu: slides


Zhenyu: GoogleDoc

Damir (WBM): damir_trigger.pdf

Cesar (Trigger Eff.) : slides


Zhenyu: GoogleDoc

Damir, Milan: trigger_monitoring_25_10.pdf

Cesar : working_meeting_CorrFlow_HLT_L1_eff_Oct25.pdf


Damir: TM_28_10_2016.pdf

Cesar: working_meeting_CorrFlow_HLT_L1_eff_Oct28.pdf

Sunil: slides

Goal of this page

To train people for trigger monitoring and fast efficiency check for 2016 pPb flow group HLT/L1 triggers.

Things can be learned:

- Dump and run HLT configuration

- Efficiency check for various L1/HLT triggers

- Tuning of trigger thresholds

- WBM trigger rate monitoring

Datasets for pPb trigger study

5.02 TeV data from 2013

  • Using JSON for runs 210498-211631, here
  • 27140 lumi sections total
  • Get JSON with following:
    • curl -O 'https://cms-service-dqm.web.cern.ch/cms-service-dqm/CAF/certification/Collisions13/pPb/Prompt/Cert_210498-211631_HI_PromptReco_Collisions13_JSON_v2.txt'
  • Offline using MinBias selection HLT_PAZeroBiasPixel_SingleTrack_v1
Sample Name RAW DAS Link RECO DAS Link T2-Sites Notes
PAHighPt RAW RECO T2_US_Vanderbilt Alignment fix impacts only runs 210498, 210534, 210614, 210634, 210635, 210638, 210658
PAMinBiasUPC RAW RECO, RECO w/ Alignment Fix T2_US_Vanderbilt Alignment fix impacts only runs 210498, 210534, 210614, 210634, 210635, 210638, 210658

8 TeV pPb EPOS

Sample Name RAW DAS Link RECO DAS Link T2-Sites Notes
EPOSpPb_MinBias816 RAW AOD T2_US_MIT  

Introduction to ConfDB, HLT and flow group triggers


ConfDB is the database of HLT configurations of CMS. It is used to create, edit HLT triggers.

An introduction and how to set things up can be found here. Please ask Zhenyu for the password.

A hand-on-hand toturial of how to use it can be found here.

Usually Zhenyu will provide the most updated version of trigger configurations for efficiency check, but please make sure you can also create a trigger menu in confDB by import from PIon master menu.

HLT and flow group trigger

Flow group HLT triggers are described in previous TSG trigger reviews.

Please find the slides: TSG20160504.pdf, TSG20160728.pdf, TSG20161005

Current trigger plan can be found at here

Dump and run HLT configuration

More general and up-to-date instructions on HLT can be found at GlobalHLTInstruction

Please feel free to contact Zhenyu (zhenyu.chen@cernNOSPAMPLEASE.ch, Skype: zhenyu.chen11) in case of question.

To run flow group 2016 pPb HLT, first do environment setup

cmsrel CMSSW_8_0_23
cd CMSSW_8_0_23/src

git cms-addpkg HLTrigger/Configuration
git cms-merge-topic -u cms-tsg-storm:80XHLTAfterMD5Train
git cms-checkdeps -A -a
git cms-addpkg L1Trigger/L1TGlobal
mkdir L1Trigger/L1TGlobal/data
mkdir L1Trigger/L1TGlobal/data/Luminosity
mkdir L1Trigger/L1TGlobal/data/Luminosity/startup
cp /afs/cern.ch/user/i/icali/public/L1Menus_pPb/v2/L1Menu_HeavyIons2016_v2.xml L1Trigger/L1TGlobal/data/Luminosity/startup

# NOTE2 the following changes are hack for correct Jet/Egamma settings
git cms-addpkg L1Trigger/L1TCalorimeter
#in L1Trigger/L1TCalorimeter/python/caloStage2Params_2016_v3_3_cfi.py
#Replace "caloStage2Params.jetSeedThreshold = cms.double(4.0)" with "caloStage2Params.jetSeedThreshold = cms.double(2.0)"
#Replace "caloStage2Params.jetPUSType = cms.string("ChunkyDonut")" with "caloStage2Params.jetPUSType = cms.string("None")"
#Replace "caloStage2Params.jetCalibrationType = cms.string("LUT")" with "caloStage2Params.jetCalibrationType = cms.string("None")"
#in L1Trigger/L1TCalorimeter/src/firmware/Stage2Layer2EGammaAlgorithmFirmwareImp1.cc around line 215
#Replace "int shapeBit = egammas_raw.at(iEG).hwQual()>>2 & (0x1);" with "int shapeBit = 1;"
#in L1Trigger/L1TCalorimeter/src/firmware/Stage2Layer2ClusterAlgorithmFirmwareImp1.cc around line 479 and 481
#replace "hOverEBit = ratio >= params_->egHOverEcutBarrel();" and "hOverEBit = ratio >= params_->egHOverEcutEndcap();" both with "hOverEBit = ratio >= 1;"

#the following changes are needed for HLTbitanalyzer to switch to L1 stage-2 format
git cms-addpkg HLTrigger/HLTanalyzers
git remote add CMS-HIN-dilepton https://github.com/CMS-HIN-dilepton/cmssw.git
git fetch CMS-HIN-dilepton
git checkout CMS-HIN-dilepton/HLTBitAnalyzer_L1Stage2 HLTrigger/HLTanalyzers
cd HLTrigger
git clone https://github.com/zc11/HLTAnalyzer.git
cd ..
scram b -j 4
cd HLTrigger/Configuration/

Dump the global setup,

hltConfigFromDB --cff --configName /dev/CMSSW_8_0_0/GRun --nopaths --services -PrescaleService,-EvFDaqDirector,-FastMonitoringService > setup_cff.py
cp setup_cff.py python/

Then dump the HLT configuration, (replace /users/zhchen/Run2016/2016pPbEffCheck/2016pPbFlowHLTUpToDate/V3 with your own trigger menu in confDB if needed)

For data

hltGetConfiguration /users/zhchen/pPb2016FastCheck/pPbFlow/V24 --unprescale --full --offline --data --unprescale --process TEST --globaltag 80X_dataRun2_pA_HLT_v0 --l1-emulator Full --l1Xml L1Menu_HeavyIons2016_v2.xml --output none --max-events 10 --input root://xrootd.unl.edu//store/hidata/HIRun2013/PAMinBiasUPC/RAW/v1/000/211/631/00000/F497D809-B773-E211-BA8D-001D09F290CE.root > hlt_DATA.py

For MC

hltGetConfiguration /users/zhchen/pPb2016FastCheck/pPbFlow/V24 --unprescale --full --offline --mc --unprescale --process TEST --globaltag 80X_dataRun2_pA_HLT_v0 --l1-emulator FullMC --l1Xml L1Menu_HeavyIons2016_v2.xml --output none --max-events 100 --input root://xrootd.cmsaf.mit.edu//store/himc/pPb816Summer16DR/ReggeGribovPartonMC_EposLHC_pPb_4080_4080/GEN-SIM-RAW/80X_mcRun2_asymptotic_v15-v1/100000/00BE917A-6A79-E611-B86A-02163E013E59.root > hlt_MC.py

Add in hlt_DATA.py or hlt_MC.py right after process = cms.Process( "TEST" ),


Comment out the DQM output lines as they are not needed

process.load( "DQMServices.Core.DQMStore_cfi" )
process.DQMStore.enableMultiThread = True
process.dqmOutput = cms.OutputModule("DQMRootOutputModule",
    fileName = cms.untracked.string("DQMIO.root")
process.DQMOutput = cms.EndPath( process.dqmOutput )

To ensure different trees have events matched with each other, replace

numberOfThreads = cms.untracked.uint32( 4 ) 


numberOfThreads = cms.untracked.uint32( 1 )

Add output block to produce trees and histograms related to efficiency check at the very end of configuration

process.HLTinfo = cms.EDAnalyzer('HLTTree',
PixelVertices = cms.InputTag('hltPixelVerticesForHighMult'),
PixelTracks = cms.InputTag('hltPixelCandsForHighMult'),
FullVertices = cms.InputTag('hltPAOnlinePrimaryVertices'),
FullTracks = cms.InputTag('hltPAFullCandsForHighMultTrigger'),
FullTrackCands = cms.InputTag('hltPAFullCandsForHighPtTrigger'),
HLTTrack = cms.InputTag('hltPAIterativeTrackingMerged'),
#Cuts for multiplicity
min_Pt = cms.untracked.double(0.4),
max_Pt = cms.untracked.double(9999.0),
max_Eta = cms.untracked.double(2.4),
min_sep = cms.untracked.double(0.12),
min_sep_full = cms.untracked.double(0.15),
max_Vz = cms.untracked.double(15.0),
#Cuts for high pT track
pTerr_offline = cms.untracked.double(0.1), #relative pT error < 0.1
eta_offline = cms.untracked.double(2.4), #abs(eta) < 2.4
DCA_offline = cms.untracked.double(3.0), #DCA significance to the vertex < 3
nHit_offline = cms.untracked.int32(12), #track nHit >= 12
pTerr_HLT = cms.untracked.double(0.3),
eta_HLT = cms.untracked.double(2.4),
DCA_HLT = cms.untracked.double(9999), # we decide to not use DCA at HLT due to limited vertex resolution compared to offline. instead use min_sep_highpt to cut off fake.
nHit_HLT = cms.untracked.int32(0),
min_sep_highpt = cms.untracked.double(9999),
process.TFileService = cms.Service("TFileService",
                                       fileName =
process.hltbitanalysis.HLTProcessName = cms.string("TEST")                                                         
process.hltbitanalysis.hltresults = cms.InputTag( "TriggerResults","","TEST" )                                     
process.hltbitanalysis.UseTFileService = cms.untracked.bool(True)                                                  
process.hltBitAnalysis = cms.EndPath(process.hltbitanalysis * process.HLTinfo)                                                       

To run the produced configuration file,

cmsRun hlt_MC.py

A root file named HLTeff.root will be produced, which contains two trees:

- hltbitanalysis/HltTree: contains information of trigger decision, can be used for fast efficiency check

- HLTinfo/HLTeff: contains more information such as online/offline track number of each event, leading track pT online/offline, number of active towers at L1. This tree can be used for trigger thresholds tuning.

Submit CRAB job and get trees with offline information

Please note that the above HLT config runs on RAW input. In order to get RECO information, one needs to submit CRAB job or run on RAW-RECO input (usually don't exist).

To get RECO information through CRAB job, one needs to use the option useparent = True.

An example can be found here git link

Macros for various turn-ons

Those macros should be checked out in HLTrigger/HLTAnalyzer/test if you did

git clone https://github.com/zc11/HLTAnalyzer.git

HighMutiplicity Trigger

This macro produces efficiency turn-ons for L1, HLT and L1+HLT.

Tunable parameters:

- TowerCount threshold

- HLT mutiplicity threshold

Target efficiency:

L1 efficiency >95% at region for analysis: Ntrkoffline={120,150,185,220,250,280}

HLT sweet spot with efficiency around 50% at region for analysis.

HighMultiplicity +HighPt & HFsumET +HighPt Trigger

HLT efficiency can be produced using this macro.

Tunable parameters:

- HLT multiplicity threshold

- HFsumET threshold

- HLT leading track pT threshold

- Track quality cuts can be tuned in HLT config + re-run.

Target efficiency:

HLT+L1 efficiency > 95% at region for analysis: pT = {8,16}, as close to 100% as possible

WBM rate monitoring

General introduction: https://twiki.cern.ch/twiki/bin/view/CMS/WBM

Tutorial: https://twiki.cern.ch/twiki/bin/view/CMS/WebBasedMonitoringTutorial#Run_Summary

The best way to learn WBM is to interact with it more.

-- ZhenyuChen - 2016-09-29

Topic attachments
I Attachment History Action Size Date Who Comment
PDFpdf TM_28_10_2016.pdf r1 manage 1231.2 K 2016-10-28 - 16:27 DamirDevetak  
PDFpdf TSG20160504.pdf r1 manage 123.7 K 2016-10-03 - 09:53 ZhenyuChen  
PDFpdf TSG20160728.pdf r1 manage 415.1 K 2016-10-03 - 09:53 ZhenyuChen  
PDFpdf TriggerTrain20161011.pdf r1 manage 377.9 K 2016-10-11 - 15:11 ZhenyuChen  
PDFpdf confdb_triggertutorial20140528_updated.pdf r1 manage 8304.3 K 2016-10-06 - 10:29 ZhenyuChen  
PDFpdf damir_trigger.pdf r1 manage 2213.0 K 2016-10-18 - 13:36 DamirDevetak  
PDFpdf trigger_monitoring_25_10.pdf r1 manage 3129.1 K 2016-10-25 - 14:45 DamirDevetak  
Edit | Attach | Watch | Print version | History: r63 < r62 < r61 < r60 < r59 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r63 - 2016-12-05 - CesarBernardes
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    Main All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright & 2008-2021 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
or Ideas, requests, problems regarding TWiki? use Discourse or Send feedback