Instructions on 2016 pPb MinimumBias +HighPtTrack HLT


Dump and run HLT configuration

More general 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 pPb MB+HighPtTrack HLT, first do environment setup

cmsrel CMSSW_8_0_20
cd CMSSW_8_0_20/src
cmsenv

git cms-addpkg HLTrigger/Configuration
git cms-merge-topic -u cms-tsg-storm:80XHLTAfterMD2Train
git cms-checkdeps -A -a
git cms-addpkg L1Trigger/L1TGlobal

cp /afs/cern.ch/user/k/krajczar/public/L1Menus_pPb/v0/L1Menu_HeavyIons2016_v0.xml L1Trigger/L1TGlobal/data/Luminosity/startup
scram b -j 4
cd HLTrigger/Configuration/

Dump the global setup,

hltConfigFromDB --v2 --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,

For data

hltGetConfiguration /users/zhchen/Run2016/pPbMBHighPt/V4 --unprescale --full --offline --data --unprescale --process TEST --globaltag auto:run2_hlt_GRun --l1-emulator Full --l1Xml L1Menu_HeavyIons2016_v0.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/Run2016/pPbMBHighPt/V4 --unprescale --full --offline --mc --unprescale --process TEST --globaltag 80X_mcRun2_pA_v0 --l1-emulator FullMC --l1Xml L1Menu_HeavyIons2016_v0.xml --output none --max-events 10 --input root://xrootd.cmsaf.mit.edu//store/user/gsfs/ReggeGribovPartonMCpPb_MinBias_8016GeV_EposLHC/EPOS_MinBias_pPb_RAW_15072016/160715_161723/0000/testing_845.root > hlt_MC.py

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

process.load("HLTrigger.Configuration.setup_cff")

To run the produced configuration file,

cmsRun hlt_DATA.py

Tunable parameters in config

L1Seed

L1_ZeroBias is used as seed in the default configuration, which can be changed at

process.hltL1sMinimumBiasHF0ORBptxAND = cms.EDFilter( "HLTL1TSeed",
    L1SeedsLogicalExpression = cms.string( "L1_ZeroBias" ),
    ...

)

Track Cuts at HLT

The current HLT setup is using TrackCutClassifier, complete sets of tunable parameters can be found at Git code

In MB+HighPtTrack setup, they are

process.hltPAGoodHighPurityFullTrackCutClassifierForHighPt = cms.EDProducer( "TrackCutClassifier",
    src = cms.InputTag( "hltPAIterativeTrackingMerged" ),
    GBRForestLabel = cms.string( "" ),
    beamspot = cms.InputTag( "hltOnlineBeamSpot" ),
    vertices = cms.InputTag( "hltPAOnlinePrimaryVertices" ),
    qualityCuts = cms.vdouble( -0.7, 0.1, 0.7 ),
    mva = cms.PSet(
      dr_par = cms.PSet(
        drWPVerr_par = cms.vdouble( 3.5, 3.5, 3.5 ),  # DCA significance in xy-direction
        dr_exp = cms.vint32( 0, 0, 0 )
      ),
      minLayers = cms.vint32( 0, 0, 0 ), # number of layers with hit
      dz_par = cms.PSet(
        dz_exp = cms.vint32( 0, 0, 0 ),
        dzWPVerr_par = cms.vdouble( 3.5, 3.5, 3.5 ) # DCA signficance in z-direction
      ),
      maxChi2 = cms.vdouble( 9999.0, 9999.0, 9999.0 ), # track Chi2
      maxChi2n = cms.vdouble( 9999.0, 9999.0, 9999.0 ), # track normalized Chi2
      maxLostLayers = cms.vint32( 999, 999, 999 ),
      maxDz = cms.vdouble( 3.40282346639E38, 3.40282346639E38, 3.40282346639E38 ),
      maxDzWrtBS = cms.vdouble( 3.40282346639E38, 999.0, 999.0 ),
      maxDr = cms.vdouble( 3.40282346639E38, 3.40282346639E38, 3.40282346639E38 ),
      minNdof = cms.vdouble( -1.0, -1.0, -1.0 ),
      min3DLayers = cms.vint32( 0, 0, 0 ),
      minPixelHits = cms.vint32( 0, 0, 0 ),
      minNVtxTrk = cms.int32( 2 ), # min number of track requirement for the associated vertex
      minHits = cms.vint32( 10, 10, 10 ), # track nHit
      maxRelPtErr = cms.vdouble( 0.2, 0.2, 0.2 ) # track ptErr/pt
    ),
    GBRForestFileName = cms.string( "" )

)

AND in the last filter

process.hltPAFullTrackHighPt8 = cms.EDFilter( "HLTSingleVertexPixelTrackFilter",
 saveTags = cms.bool( True ),
 MinTrks = cms.int32( 1 ), # number of tracks passed the cuts below
 MinPt = cms.double( 8.0 ), # min track pT
 MaxVz = cms.double( 15.0 ), # max vertex z range in cm
 MaxEta = cms.double( 2.4 ), # max eta of track
 trackCollection = cms.InputTag( "hltPAFullCandsForHighPtTrigger" ), 
 vertexCollection = cms.InputTag( "hltPAOnlinePrimaryVertices" ),
 MaxPt = cms.double( 9999.0 ),  # max track pT
 MinSep = cms.double( 999.0 ) # max distance in z-direction to the vertex
)

-- ZhenyuChen - 2016-09-19

Edit | Attach | Watch | Print version | History: r3 < r2 < r1 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r3 - 2016-09-19 - ZhenyuChen
 
    • 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-2024 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