4.6 HLT Tutorial

Complete: 4
Detailed Review status

This page has been updated for CMSSW 52X and the latest 2012 HLT studies

Goals of this page:

This page is intended to familiarize you with HLT ideas, software and utilities. In particular, you will learn:

  • how to run various trigger paths,
  • how to analyze HLT related information.



Why a trigger ?

  • Most of events/processes produced at a high-energy hadronic collider are not interesting : an early decision, i.e. online selection, has to be made to avoid running the offline code on millions of uninteresting events

High Level Trigger (HLT) :

  • Takes events accepted by the L1, first level of the CMS Trigger
  • Decides, based on more elaborated algorithms, whether the event should be kept
Therefore, it is a crucial part of the CMS data flow since it's the HLT algorithms and filters which will decide whether an event should be kept for an offline analysis : any offline analysis depends on the outcome of HLT, i.e. on the HLT efficiency.

Important benchmark ideas :

  • Rates (at 2E33) :
    • 13 MHz -> L1 -> 50kHz
    • -> HLT -> 150 Hz
  • Conceive and run approx. 200 triggers, as efficient as possible
  • Reconstruction :
    • Seeded by L1
    • As close as possible to offline reconstruction
    • Regional reconstruction : saving CPU
    • HLT level : typically :
      • L2 : Calorimeter and Muon information
      • L3 : Tracking information

Example of HLT reconstruction : Muons :

  • L2 :
    • Uses L1 seeds : Up to 4 muons provided by Global Muon Trigger (GMT), information : (pT, charge, phi, eta)
    • "StandAlone" muons : using muon segments, charge clusters, then Outside->In fitting
    • Filters : pT, invariant-mass
    • Filters : Calorimeter-based isolation
  • L3 :
    • Uses L2 seeds
    • "Global regional muon reconstruction" : using tracker information in muon window
    • Filters : pT, invariant-mass, Impact-Parameter, track-quality
    • Filters : Tracker-based isolation

Please do visit Trigger, HLT pages :

Subscribe to hypernews :

Producing event with Triggers

Triggers defined as path blocks : sequence of modules and operands :

path MyTrigger = {doL1Reco & doL1Seeding & ApplyPrescale & doHltReco, HltCondition}
Modules :
  • Reconstruction : doL1Reco, doHltReco, etc...
  • Prescale : ApplyPrescale
  • Filter : HltCondition
Operands :
  • the "," or dependency operator, the operand to the right is dependent on the operand on the left (i.e. the right accesses data produced by the left)
  • the "&" or sequencing operator, the operand on the left is executed first, followed by the operand on the right, but they are not dependent on each other

Consequences :

  1. The result of each operand is a boolean : the final outcome of MyTrigger is "reject" or "accept"
  2. For a given path, the overall answer is the "AND" of all operands : If ever one of the operands on the left fails, reject AND stop processing : Saving CPU time !

Recommended reading : PathTriggerBits

The HLT configuration in CMS is stored in a dedicated database system, ConfDB. Use the dedicated GUI to create, manipulate and store trigger path configurations. Use the ConfDB web browser to browse the content of the configuration database and inspect available HLT menus. The command-line tool edmConfigFromDB allows you to retrieve (complete or partial) configurations as either ascii or python configuration files to be fed to cmsRun.

A quick look at the code

Please visit :

HLT code in HLTrigger

Running Trigger paths

Follow instructions from HLTtable

For input files : go on the Data Base System page DBS

Analyzing Trigger/Offline information

Motivation : Get in one place, on event-by-event basis :

  • L1-, HLT-related information
  • Offline reconstructed information
  • HLT information without filters: "Open HLT" mode
Enables to :
  1. Study Trigger efficiencies, as function of offline reconstructed quantities...
  2. Get Trigger rejections, overlaps, rates...
  3. ...for L1, HLT conditions

Code :

  • Package : HLTrigger/HLTanalyzers : HLTanalyzers
  • Driving code : HLTAnalyzer .h .cc : an EDAnalyzer
  • Configuration file to run : HLTrigger/HLTanalyzers/test/HLTAnalysis.cfg

More details in HLTAnaManual

Getting the L1 information

Motivation : Have the information of HLT seeds at disposal

Using L1Extra objects, from MCTruth or from the L1 Emulator : In the HLTAnalysis.cfg file :

module HLTAnalyzer = {
   string l1extramc = l1extraParticles

Physics objects Variables stored L1Extra Class Instances
Muons E, pT, phi, eta, isolation, mip L1MuonParticle  
EM particles E, ET, phi, eta L1EmParticle “Isolated” and “NonIsolated”
Jets E, ET, phi, eta L1JetParticle "Forward" and "Central"
Taus E, ET, phi, eta L1JetParticle "Tau"
MET ET, ET(tot), ET(had), phi L1EtMissParticle  

Branches of variables created per instance.

Code in : HLTInfo .h .cc

Getting the HLT information

How do I get information about Trigger Results ?

  • From the TriggerResults class : Associate Trigger Path to Decision. HLTAnalyzer dynamically creates as many branches as Triggers present, and fill them with corresponding Trigger decision. Trigger branches pop up in form of "TRIGG_".

Code in : HLTInfo .h .cc

If you want to get the names of the paths (e.g. for accessing them by path name rather than by bit number), see the example code in HLTrigger/HLTanalyzers/src/HLTrigReport.cc.

See also the hypernews discussion here.

Getting the Offline-reconstructed and other information

Specify in HLTAnalysis.cfg the instances of reconstructed objects that you want :

module HLTAnalyzer = 
    string muon = "muons"
    string Electron = "pixelMatchGsfElectrons"
    string Photon = "correctedPhotons"
    string recjets = "iterativeCone5CMS.CaloJets"
    string genjets = "iterativeCone5GenJets"
    string recmet = met
    string genmet = genMet
    string calotowers = towerMaker

Physics objects Variables stored Instances
Muon E, ET, pT, eta, phi muons
Electron E, ET, pT, eta, phi pixelMatchGsfElectrons
Gamma E, ET, pT, eta, phi correctedPhotons
Jet E, ET, pT, eta, phi iterativeCone5CMS.CaloJets, iterativeCone5GenJets
MET pT, phi, ET(sum) met, genMet
Calo Towers E, ET, E(em), E(had), E(out), eta, phi towerMaker
MC truth Id, Vtx(X,Y,Z), pT  

Code in : HLTEgamma, HLTMuon, HLTJets (deals with MET as well)

  • Getting also information about the MC truth information about generated particles : pT, Identity, Vertex... Code in HLTMCtruth

Offline collections can be accessed when running simultaneously and RAW+RECO samples. This can be achieved using crab with use_parent=1 option. Running on a RECO dataset will then allow to access its parent dataset, namely the corresponding RAW dataset.

Getting the MC truth information

Motivation : Have the generator level information at disposal

Object Variables stored Instances
Generated particle PDG-Identity, particle status, [x,y,z]-component of primary vertex genParticles
Generated particle pT, phi, eta genParticles
  Event pT-hat, i.e. scale genEventScale

Getting the OpenHLT information

The OpenHLT package provides the user:

  • HLT objects (jets, muons, electrons, photons, tau jets) as reconstructed by HLT algorithms,
  • without any cut/filter applied on them, so that the user has all selection possibilities on them.
  • All variables/handles (eg : pT, different isolations) upon which HLT would apply filtering decisions.

This should allow anyone to compose new triggers by studying rates and efficiencies of the would-be triggers; OpenHLT needs RAW to run.

Multiplicity variables, i.e. variables denoting the number of OpenHLT objects (jets/muons/egamma) reconstructed, are denoted Noh XXX

Jet / MET :

Since the HLT reconstruction of jets and missing-Et is identical to the offline reconstruction, one should use the corresponding offline variables defined above. Parallel collections for corrected (recoJetCorCal) and uncorrected jets (recoJetCal) are provided.

Muon :

Variables : Starting with ohMu, available at L2 and L3 levels, for a vector of pT-ordered muons :
  • pT, eta, phi, charge
  • dR, dZ : Distance of the muon track to the primary vertex
  • Isolation response (boolean)
Algorithmic guidelines :
  1. Single and Double, Isolated or Non-Isolated muon triggers may be simulated by cuts on number of muons, isolation response, this, at various thresholds.
  2. For regular muon triggers, no cut on dR and dZ is considered.
  3. There is also a matching performed between the L1-seed and the L2 muon. The OpenHLT user should do this matching in [eta,phi].
  4. The muon qualifying the L2 and L3 conditions should be the same. To allow the user to emulate this in an OpenHLT mode, the variable ohMuL3L2idx[i] gives the index of the L2 muon having matched with the L3 muon with index i. This L2/3 matching is relevant for up to 2XX, and not beyond.

Algorithmic guidelines :

  1. For standard HLT muon paths, one should do a dR cut of 2cm

Electron / Photon :

Variables : Starting with ohPhot and ohELe, available for a vector of Et-ordered objects :
  • Et, eta, phi
  • E, p for electrons only
  • ECAL, HCAL and Track isolations
  • L1 isolation : Whether an EGamma path is an isolated one or not is determined by the L1 isolation
  • Electron cluster shape (ohEleClusShap)
  • Electron eta/phi difference between the SC and the electron track (ohEleDeta/ohEleDphi)
  • A variable that tells you wether a given SC was used by more than one electron (ohEleNewSC) or not, as two tracks may be built from the same SC
A parallel electron object ohEleLW exists for electrons with a Large-Window track-match. A parallel electron object ohEleSS exists for SiStrip electrons.

Algorithmic guidelines :

  1. In order to emulate the HLT egamma logic, one should loop over the collection of electron/photon objects.
  2. Attention : If a reconstruction procedure could not converge in the calculation of a variable, the value of this latter has been put to -999. Example : No track could be identified, therefore the track isolation = -999.
  3. The number of pixel seed is provided for an electron. The standard cut is : ohElePixelSeeds[i]>0
  4. A collection of electrons with a Larger Window of pixel-matching is provided; all the variables are the same but finishing with the "LW" suffix.
  5. A boolean variable ohEleNewSC[i] is provided for electrons. It tells whether the considered electron has been found from a Super-Cluster (SC) which has already been used for another electron: Value=1 means that it has not been found from an already used SC. In case two different electron (tracking) are built based on the same SC, the value of all the variables concerning the SC will be equal, the first one will have ohEleNewSC=0 while the second one will have ohEleNewSC=1. In order to emulate the HLT outcome for paths involving double electrons, the cuts before the electron tracking (L1-matching, Et cut, cluster shape, Hcal isolation, pixel-matching), should count only "electrons" with ohEleNewSC[i]=1, while for the cuts after track reconstruction (E vs P, DeltaEta and DeltaPhi, track isolation) all the electrons (ohEleNewSC[i]=1 and ohEleNewSC[i]=0) should be counted.

Note that an ohEle object will be created even if it fail the pixels seeding. In this case all the variables concerning the tracks will be set to -999. This allows us to study in the openHLT the actual rejection of each cut.

Track-matching windows: Windows of different sizes are used to match the SC to the pixel tracks, this, to allow to "catch", i.e. reconstruct electrons during startup luminosities where the alignment of the detector will be known with less precision.

  • Normal window is smaller than Startup, which itself is smaller than Large-Window.
  • In the roottuples at your disposal under OpenHLT format, Large-Window (LWEle) and Startup-Window (Ele) as default values, because we are (for the moment) all developing triggers and menus for startup luminosities.

For information, present cuts for Photon and Electron paths are reported. When developing new triggers, these values may be used as benchmarks.

Isolation definitions in 2_1_X :

Single / Double Electron path :

  • [HCAL isolation < 3 / 9 for both Barrel and End Cap] OR [HCAL isolation/Et<0.05]
  • Track Isolation: Sum-pT/pT(electron) of tracks (with pT > 1.5 GeV/c) inside a hollow cone of 0.02 < R < 0.2 around the electron track
  • Track isolation : 0.06 / 0.4

Single / Double Photon path :

  • ECAL Isolation : Island-Clustering algorithm.
  • ECAL isolation < 1.5 / 2.5
  • [HCAL isolation < 6(Barrel) 4(End Cap) / 8(Barrel) 6(End Cap)] OR [HCAL isolation/Et<0.05]
  • Track isolation (number of tracks) < 1 / 3

Definitions in 3_1_X :

No more HCAL Isolation for egamma.

No tight ECAL isolation for Photons.

Electron Track Isolation :

  • Sum-pT of tracks (with pT > 1.5 GeV/c) inside a hollow cone of 0.02 < R < 0.2 around the electron track
  • Loose Track Isolation : [Sum-pT < 8 GeV/c] OR [Sum-pT / pT(electron) < 0.5]

Electron Id path (Identification) :

  • Cluster shape (Sigma Eta-Eta) < 0.015 (ECAL barrel)
  • Cluster shape (Sigma Eta-Eta) < 0.04 (ECAL endcap)
  • Deta (Track-SC) < 0.008
  • Dphi (Track-SC) < 0.1

Photon ECAL Isolation :

  • The parameters of the ECAL isolation are not accessible via OpenHLT, rather inherited from the modules that OpenHLT downloads (e.g. HLT_2E30_cff). Jurassic algorithm : Sum of RecHits over a region.
  • Loose ECAL Isolation : [Sum-Energy < 3 GeV] OR [Sum-Energy / E(photon) < 0.2]
  • Double Photon Very Loose ECAL Isolation : [Sum-Energy < 5 GeV] OR [Sum-Energy / E(photon) < 0.2]

Photon Track Isolation :

  • Sum-pT of tracks (with at least 1.5 GeV pT) inside a hollow cone of 0.06 < R < 0.3 around the direction of the photon SC centroid
  • Tight ("tight" is never specified in the path name) : Sum-pT/E(photon) < 0.05

Tau-jet :

Variables : Starting with ohTau:
  • Pt, Eta, Phi of the Jet at L2
  • EM isolation at L2 (Variable to cut on)
  • Leading track pT at L2.5
  • Track isolation response (boolean) at L2.5
  • Leading track pT at L3 only for Single-Tau triggers
  • Track isolation response at L3 only for Single-Tau triggers
  • For the missing Et to be cut upon in the Single-Tau path, please use the offline reconstructed MET.
For information, present cuts for Single / Double Tau paths are reported. When developing new triggers, these values may be used as benchmarks :
  • EM isolation < 5
  • Leading track pT at L2.5 > 3
  • Leading track pT at L3 > 20 for the singleTau
  • MET > 65 only for singleTau

b-jet :

b-tag specific information is dumped into OpenHLT ntuples present in the analyzer HLTrigger/HLTanalyzers/src/HLTBJet.cc

  • NohBJetL2: number of uncorrected jets at L2
  • ohBJetL2Energy, Et, Eta, Phi: energy / ET / eta / phi of each uncorrected L2 jet

  • NohBJetL2Corrected: number of corrected jets at L2
  • ohBJetL2CorrectedEnergy, Et, Eta, Phi: energy / ET / eta / phi of each corrected L2 jet

  • NohBJetL2CorrectedL1FastJet: number of corrected jets at L2, also L1FastJet corrected for pile-up
  • ohBJetL2CorrectedEnergyL1FastJet, EtL1FastJet, EtaL1FastJet, PhiL1FastJet: energy / ET / eta / phi of each corrected L2 jet, also L1FastJet corrected for pile-up

  • NohpfBJetL2: number of uncorrected particle flow jets at L2
  • ohpfBJetL2Energy, Et, Eta, Phi: energy / ET / eta / phi of each uncorrected particle flow L2 jet

Lifetime or IP based b-jet trigger variables:
The b-tag algorithm used at present is equivalent to "Track Counting High Efficiency" or "3D2nd" algorithm.

  • ohBJetIPL25Tag: L2.5 b-tag discriminator
  • ohBJetIPL3Tag: L3 b-tag discriminator

  • ohBJetIPL25TagL1FastJet: L2.5 b-tag discriminator for jets with L1FastJet pile-up correction
  • ohBJetIPL3TagL1FastJet: L3 b-tag discriminator for jets with L1FastJet pile-up correction

New b-tag algorithm is recently been added which is equivalent to "Single Track" Track Counting or "3D1st" algorithm.

  • ohBJetIPL25TagSingleTrack: L2.5 Single Track b-tag discriminator
  • ohBJetIPL3TagSingleTrack: L3 Single Track b-tag discriminator

  • ohBJetIPL25TagSingleTrackL1FastJet: L2.5 Single Track b-tag discriminator for jets with L1FastJet pile-up correction
  • ohBJetIPL3TagSingleTrackL1FastJet: L3 Single Track b-tag discriminator for jets with L1FastJet pile-up correction

For information, present cuts for lifetime b-jet paths and their L1 seed are reported. When developing new triggers, these values may be used as benchmarks :

Trigger paths L1 seed L2 threshold L2.5 cut L3 cut comment
HLT_BTagIP_Jet50U L1_SingleJet30U 50 GeV 2.5 3.5 Available since May 2010 till 2E31 menu in 2010

B-tag performance measurement trigger variables used for b-tag calibration triggers:
These variables are for selecting events with muons close to jets and providing a calibration sample for the measurement of the b-tag efficiency.

  • ohBJetPerfL25Tag: 0 or 1: L2 muon present in L2.5 jet (L25BJetTagsUByDR) used by BTagMu path
  • ohBJetPerfL3Tag: 0 or 1: L3 muon present in L3 jet (L3BJetTagsUByDR) used by BTagMu path

  • ohBJetPerfL25TagL1FastJet: 0 or 1: L2 muon present in L2.5 jet (L25BJetTagsUByDR) used by BTagMu path for jets with L1FastJet pile-up correction
  • ohBJetPerfL3TagL1FastJet: 0 or 1: L3 muon present in L3 jet (L3BJetTagsUByDR) used by BTagMu path for jets with L1FastJet pile-up correction

For information, present cuts for performance b-jet paths and their L1 seed are reported. When developing new triggers, these values may be used as benchmarks:

Trigger paths L1 seed L2 threshold L2.5 cut L3 cut
HLT_DiJet10U "L1_Mu3_Jet6U" 10 GeV 0.5 0.5
HLT_DiJet30U_Mu5 "L1_Mu3_Jet6U" 30 GeV 0.5 0.5

AlCa :

The pT, eta, phi, s4s9 variables for AlCa pi0 and eta paths (ohAlcapi0xxxClusAll) are provided.

The s4s9 means S4 / S9, where:

  • S4 = the total energy in a 2x2 crystal matrix which contains the central crystal. There are 4 possible 2x2 matrix, the S4 is defined as the maximum one.
  • S9 = the total energy in the 3x3 crystal matrix.

HLT_IsoTrack path:

Path selects isolated tracks for HCAL calibration.

At L2 pixel tracks are used to evaluate track isolation and apply loose pT cut, variables are:

  • ohIsoPixelTrackL2pt - pT of pixel track at, hlt cut is pT > 3.5 GeV;
  • ohIsoPixelTrackL2eta - eta of pixel track, hlt cut is |eta|<2.0;
  • ohIsoPixelTrackL2dXY - distance in XY to nearest vertex, hlt cut is |dXY|<0.05;
  • ohIsoPixelTrackL3MaxPtPxl - maximum pT among surrounding pixel tracks in cone of 0.3 in for |eta|<1.5 and cone 0.5 for 1.5<|eta|<2.0, hlt cut is 0.9 GeV;

At L3 full track reconstruction is seeded by tracks passed L2 and momentum cut is applied:

  • ohIsoPixelTrackL3Energy - P (misleading variable name) of L3 track, hlt cut is P > 10 GeV
  • ohIsoPixelTrackL3Eta - eta of L3 track, hlt cut is |eta|<2.0

additional variables (no cut on them): ohIsoPixelTrackL3Phi, isopixeltrackL3pt.


The variables ohHighestEnergyXXRecHit; XX= EB, EE, HBHE, HF, and HO are provided for OpenHLT emulation of the AlCa_EcalPhiSym and AlCa_HcalPhiSym paths

Tracks :

A "pixel track" is a track with 3 pixel hits on different layers (triplets), and nothing in the SiStrip (the triplets are not propagated to the SiStrip layers). Corresponding OpenHLT object is ohPixelTracksL3.

The triplets are generated

  • with the standard PixelTripletHLTGenerator triplet generator
  • with a minimal transverse momentum of ptMin = 0.2 GeV/c
  • using an originRadius = 0.2 cm vicinity of the (0,0) point on the x-y plane
  • using an originHalfLength = 15.9 cm allowed interaction region in z

The provided variables are:

  • transverse momenta: ohPixelTracksL3Pt
  • pseudorapidities: ohPixelTracksL3Eta
  • azimuthal angles: ohPixelTracksL3Phi
  • z position of the "closest approaches": ohPixelTracksL3Vz

These variables can be used to emulate the filter of the HLT_MinBiasPixel trigger path.

MinBiasPixel filter:

  • Aim: provide a highly efficient minimum bias trigger with good background rejection
  • Idea: mimic the track topology of a beam-beam collision by requiring
    • a certain number of pixel tracks which are
      • "far" from each other on the eta-phi plane
      • their closest approaches are "close" to each other in z
  • Code: HLTrigger/special/src/HLTPixlMBFilt.cc
  • Default Cuts:
    • Configurable:
      • minimum number of tracks = 2
      • minimal transverse momentum of tracks = 0.0 GeV/c
      • minimal separation of tracks on the eta-phi plane = 1.0
    • Hardcoded (as of CMSSW_3_1_1):
      • maximal allowed distance of the closest approaches from the "0" point in z: 15.0 cm
      • maximal allowed distance of the closest approaches from each other: 1.0 cm

Calculate the rate of a new trigger:

Please read:


You may also want to take a look at WritingOpenHLTEmulations (page under construction)

Recipes for producing ntuples

These versions of the analyzer have the OpenHLT capability included.

For additional tags needed to run on real data consistent with online releases, consult this page.

For the correct GlobalTag to use in a given release consult this page.

When running in 42X

Note: the 42X recipe is frozen - time to move on!

scram project CMSSW CMSSW_4_2_9_HLT3_hltpatch3
cd CMSSW_4_2_9_HLT3_hltpatch3/src
cvs co -r V03-09-03        HLTrigger/HLTanalyzers
scram b
cd HLTrigger/HLTanalyzers/test
cmsRun HLTAnalysis_cfg.py

Changes wrt V03-08-18

  • Feature from Heavy Ions to declare missing branches when running on runs taken with different trigger menus
  • PFmuon variables added

Changes wrt V03-08-17:

  • L1FastJet corrected jet variables included
  • Synchronize with latest HLT developments integrated in CMSSW_4_2_9_HLT3_hltpatch3 and /dev/CMSSW_4_2_0/HLT/V1011

Changes wrt V03-08-13:

  • Synchronize with latest HLT developments integrated in CMSSW_4_2_9_HLT3_hltpatch3 and /dev/CMSSW_4_2_0/HLT/V987

Changes wrt V03-08-11:

  • Synchronize with latest HLT developments integrated in CMSSW_4_2_9_HLT1_hltpatch2 and /dev/CMSSW_4_2_0/HLT/V867
  • Add Trk10 L3 muon isolation from SUSY paths

Changes wrt V03-08-11:

  • Synchronize with latest HLT developments integrated in CMSSW_4_2_9_HLT1_hltpatch1 and /dev/CMSSW_4_2_0/HLT/V815
  • Add pixel clusters variable for pileup studies

Changes wrt V03-08-10:

  • Synchronize with latest HLT developments integrated in CMSSW_4_2_7_hltpatch3 and /dev/CMSSW_4_2_0/HLT/V758
  • Add offline PFMET variables for running on RAW+RECO
  • Add pixel FED size variable

Changes wrt V03-08-07:

  • Synchronize with latest HLT developments integrated in CMSSW_4_2_7_hltpatch1 and /dev/CMSSW_4_2_0/HLT/V666

Changes wrt V03-08-06:

  • Synchronize with latest HLT developments integrated in CMSSW_4_2_6 and /dev/CMSSW_4_2_0/HLT/V608
  • Add L2 muon Nstations variable
  • Add instantaneous lumi information for running on RAW+RECO, but leave commented out by default to run on RAW

Changes wrt V03-08-05:

  • Synchronize with latest HLT developments integrated in CMSSW_4_2_4_hltpatch1

Changes wrt V03-08-05:

  • Synchronize with latest HLT developments integrated in CMSSW_4_2_4_hltpatch1
  • Updated HF electron variables

Changes wrt V03-08-04:

  • Cleanup of some obsolete variables

Changes wrt V03-08-03:

  • Bugfixes for PFTaus when running on RAW+RECO skims
  • Added L3 muon ID variables

Changes wrt V03-08-02:

  • Unseeded photon variables added
  • Fixes to allow turning off L3 muon reconstruction when running on multiple runs

Changes wrt V03-08-01:

  • Added muon Nhits variables

Changes wrt V03-07-08:

  • Update to 4_2_X and lower-level changes - in particular:
    • New/fixed ECAL rechit-based spike-killing
    • Synchronization of pfMHT with offline settings
  • Added n90hits variable for jets
  • Added new Onia variables

When running in 44X

Note: The 44X recipe is frozen. For studies of the 2012 menu, please move to 5X. The global tag is set to the offline "_R_" one by default, until a proton-proton "_H_" tag exists.

scram project CMSSW CMSSW_4_4_2_patch7
cd CMSSW_4_4_2_patch7/src
cvs co -r V03-10-01        HLTrigger/HLTanalyzers
cvs co -r V05-01-01        RecoLuminosity/LumiProducer
scram b
cd HLTrigger/HLTanalyzers/test
cmsRun HLTAnalysis_cfg.py

Changes wrt V03-10-00

  • Migrated L3 muon variables to tracker pT assignment. Global fit versions renamed "ohMuL3global*"

When running in 52X

The 52X recipe is updated for the global HLT recipe here, to be used for 2012 menu development. Subject to very frequent changes and many extra tags required...

Note(1): RAW is guaranteed to be backwards compatible, but other data tiers are not. The recipe below is valid for running on RAW data (taken in any release), or on GEN-SIM-RAW MC produced in CMSSW 5X. It is not guaranteed to be compatible with other samples. In particular:

  • 42X/44X RECO cannot be read in CMSSW 5X. Therefore running on 42X/44X RAW+RECO will not work.
  • 42X/44X GEN-SIM may be incompatible with being read in CMSSW 5X. Running on 42X/44X GEN-SIM-RAW MC samples may not work.

Note(2): The global tag is set to the offline reprocessing "_R_" one by default, until a proton-proton HLT "_H_" tag exists.

export SCRAM_ARCH=slc5_amd64_gcc461   # if using bash
setenv SCRAM_ARCH slc5_amd64_gcc461   # if using [t]csh

cmsrel CMSSW_5_2_0_pre5
cd CMSSW_5_2_0_pre5/src

cvs co -r V00-01-03      CommonTools/CandAlgos                            
cvs co -r V04-16-00      FastSimulation/Configuration                     
cvs co -r V00-10-12      FastSimulation/EgammaElectronAlgos               
cvs co -r V04-10-09      FastSimulation/HighLevelTrigger                  
cvs co -r V13-03-45      HLTrigger/Configuration                          
cvs co -r V02-00-16      HLTrigger/HLTfilters                             
cvs co -r V01-02-07      HLTrigger/JetMET                                 
cvs co -r V08-04-04      RecoTauTag/HLTProducers                          
cvs co -r V01-04-05      RecoTauTag/RecoTau                                                         
cvs co -r V03-10-16      HLTrigger/HLTanalyzers

checkdeps -a
scram b -j4

cd HLTrigger/HLTanalyzers/test
cmsRun HLTAnalysis_cfg.py

Changes wrt V03-10-15

  • Update to synchronize with /dev/CMSSW_5_1_0/HLT/V82
  • Includes egamma technical migration to unify Iso/NonIso seeds, + L3 muon combined relative isolation

Changes wrt V03-10-14

  • Update to synchronize with /dev/CMSSW_5_1_0/HLT/V72

Changes wrt V03-10-13

  • Update to synchronize with /dev/CMSSW_5_1_0/HLT/V53 + CMSSW_5_2_0_pre5
  • Partial inclusion of new HBHE noise filtering

Changes wrt V03-10-11

  • Update to synchronize with /dev/CMSSW_5_1_0/HLT/V28
  • New PFjet ID variables from JetMET

Changes wrt V03-10-10

  • Update to synchronize with /dev/CMSSW_5_1_0/HLT/V23

Changes wrt V03-10-09

  • Update to synchronize with /dev/CMSSW_5_1_0/HLT/V22 + latest global tag

Changes wrt V03-10-08

  • Update to synchronize with /dev/CMSSW_5_1_0/HLT/V14 configuration

Changes wrt V03-10-06

  • Fix problem with missing L1 prescales (migrate to Version 3 of L1GTUtils)

Changes wrt V03-10-01

  • Migrated to match HLT developments in /dev/CMSSW_5_0_0/HLT/V29 + latest 52X recipe
  • Threshold for caloTowers to be stored raised to 5GeV, to reduce output size on high-pileup data

Notes relevant for all recipes

Note: starting from 35X releases, the default settings are configured for running on real data (meaning the process name, global tag, and name of the RAW data collection), with the 8E29-style menu. This can be changed using the "isData" and "MENU" parameters in HLTAnalysis_cfg.py.

Note 2: The analyzer will print out information messages if any collection is missing - these are generally harmless and can be ignored. In particular, when running on real data generator-level and SIM information will be listed as missing, and when running on only RAW input the RECO-level information will be listed as missing.

Note 3: As described above, the default settings are configured to run on real data. This means if you run on MC you must change the global tag and process name

Input : Can be output of HLTtable.cfg (Output of an EDProducer), or simple RAW file, or both together.

HLTopen_cff.py includes all modules and paths specific to the OpenHLT mode.

Ouput : openhlt.root roottuple :


Review status

Reviewer/Editor and Date Comments
Pedrame Bargassa - 1 Dec 2007 Author

Responsible: Pedrame Bargassa
Last reviewed by: ChristosLeonidopoulos - 22 Feb 2008

Topic attachments
I Attachment History Action Size Date Who Comment
Unknown file formatcfg HLTtable.cfg r3 r2 r1 manage 5.6 K 2007-04-18 - 17:18 UnknownUser File to run CMSSW_1_3_0 trigger table on 1_2_0 MC
JPEGjpg hltana_root.jpg r2 r1 manage 272.5 K 2007-10-26 - 18:30 PedrameBargassa  

This topic: CMSPublic > CMSCommunicationsGroup > CMSCommunicationsProjects > WebHome > SWGuide > WorkBook > WorkBookHLTTutorial
Topic revision: r198 - 2012-02-22 - JonathanHollar
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