Line Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
import FWCore.ParameterSet.Config as cms
from PhysicsTools.NanoAOD.common_cff import Var,P3Vars

hbheRecHitTable = cms.EDProducer("HBHERecHitFlatTableProducer",
    src       = cms.InputTag("hbhereco"),
    cut       = cms.string(""), 
    name      = cms.string("RecHitHBHE"),
    doc       = cms.string("HCAL barrel and endcap rec hits"),
    singleton = cms.bool(False), # the number of entries is variable
    extension = cms.bool(False), # this is the main table for the object
    variables = cms.PSet(
                    detId  = Var('detid().rawId()', 'int', precision=-1, doc='detId'),
                    energy = Var('energy', 'float', precision=14, doc='energy'),
                    time   = Var('time', 'float', precision=14, doc='hit time'),
                    ieta   = Var('id().ieta()', 'int', precision=-1, doc='ieta'),
                    iphi   = Var('id().iphi()', 'int', precision=-1, doc='iphi'),
                    depth  = Var('id().depth()', 'int', precision=-1, doc='depth')
                )
)

hfRecHitTable = cms.EDProducer("HFRecHitFlatTableProducer",
    src       = cms.InputTag("hfreco"),
    cut       = cms.string(""), 
    name      = cms.string("RecHitHF"),
    doc       = cms.string("HCAL forward (HF) rec hits"),
    singleton = cms.bool(False), # the number of entries is variable
    extension = cms.bool(False), # this is the main table for the object
    variables = cms.PSet(
                    detId  = Var('detid().rawId()', 'int', precision=-1, doc='detId'),
                    energy = Var('energy', 'float', precision=14, doc='energy'),
                    time   = Var('time', 'float', precision=14, doc='hit time'),
                    ieta   = Var('id().ieta()', 'int', precision=-1, doc='ieta'),
                    iphi   = Var('id().iphi()', 'int', precision=-1, doc='iphi'),
                    depth  = Var('id().depth()', 'int', precision=-1, doc='depth')
                )
)

hoRecHitTable = cms.EDProducer("HORecHitFlatTableProducer",
    src       = cms.InputTag("horeco"),
    cut       = cms.string(""), 
    name      = cms.string("RecHitHO"),
    doc       = cms.string("HCAL outer (HO) rec hits"),
    singleton = cms.bool(False), # the number of entries is variable
    extension = cms.bool(False), # this is the main table for the object
    variables = cms.PSet(
                    detId  = Var('detid().rawId()', 'int', precision=-1, doc='detId'),
                    energy = Var('energy', 'float', precision=14, doc='energy'),
                    time   = Var('time', 'float', precision=14, doc='hit time'),
                    ieta   = Var('id().ieta()', 'int', precision=-1, doc='ieta'),
                    iphi   = Var('id().iphi()', 'int', precision=-1, doc='iphi'),
                    depth  = Var('id().depth()', 'int', precision=-1, doc='depth')
                )
)

hcalRecHitTableSeq = cms.Sequence(
    hbheRecHitTable
    + hfRecHitTable
    + hoRecHitTable
)

hcalRecHitTableTask = cms.Task(
    hbheRecHitTable,
    hfRecHitTable,
    hoRecHitTable,
)