CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
particleFlowBlock_cfi.py
Go to the documentation of this file.
2 
3 particleFlowBlock = cms.EDProducer(
4  "PFBlockProducer",
5  # verbosity
6  verbose = cms.untracked.bool(False),
7  # Debug flag
8  debug = cms.untracked.bool(False),
9 
10  #define what we are importing into particle flow
11  #from the various subdetectors
12  # importers are executed in the order they are defined here!!!
13  #order matters for some modules (it is pointed out where this is important)
14  # you can find a list of all available importers in:
15  # plugins/importers
16  elementImporters = cms.VPSet(
17  cms.PSet( importerName = cms.string("GSFTrackImporter"),
18  source = cms.InputTag("pfTrackElec"),
19  gsfsAreSecondary = cms.bool(False),
20  superClustersArePF = cms.bool(True) ),
21  cms.PSet( importerName = cms.string("ConvBremTrackImporter"),
22  source = cms.InputTag("pfTrackElec") ),
23  cms.PSet( importerName = cms.string("SuperClusterImporter"),
24  source_eb = cms.InputTag("particleFlowSuperClusterECAL:particleFlowSuperClusterECALBarrel"),
25  source_ee = cms.InputTag("particleFlowSuperClusterECAL:particleFlowSuperClusterECALEndcapWithPreshower"),
26  source_towers = cms.InputTag("towerMaker"),
27  maximumHoverE = cms.double(0.5),
28  minSuperClusterPt = cms.double(10.0),
29  minPTforBypass = cms.double(100.0),
30  superClustersArePF = cms.bool(True) ),
31  cms.PSet( importerName = cms.string("ConversionTrackImporter"),
32  source = cms.InputTag("pfConversions") ),
33  # V0's not actually used in particle flow block building so far
34  #cms.PSet( importerName = cms.string("V0TrackImporter"),
35  # source = cms.InputTag("pfV0") ),
36  #NuclearInteraction's also come in Loose and VeryLoose varieties
37  cms.PSet( importerName = cms.string("NuclearInteractionTrackImporter"),
38  source = cms.InputTag("pfDisplacedTrackerVertex") ),
39  #for best timing GeneralTracksImporter should come after
40  # all secondary track importers
41  cms.PSet( importerName = cms.string("GeneralTracksImporter"),
42  source = cms.InputTag("pfTrack"),
43  muonSrc = cms.InputTag("muons1stStep"),
44  cleanBadConvertedBrems = cms.bool(True),
45  useIterativeTracking = cms.bool(True),
46  DPtOverPtCuts_byTrackAlgo = cms.vdouble(-1.0,-1.0,-1.0,
47  1.0,1.0),
48  NHitCuts_byTrackAlgo = cms.vuint32(3,3,3,3,3)
49  ),
50  # secondary GSF tracks are also turned off
51  #cms.PSet( importerName = cms.string("GSFTrackImporter"),
52  # source = cms.InputTag("pfTrackElec:Secondary"),
53  # gsfsAreSecondary = cms.bool(True),
54  # superClustersArePF = cms.bool(True) ),
55  # to properly set SC based links you need to run ECAL importer
56  # after you've imported all SCs to the block
57  cms.PSet( importerName = cms.string("ECALClusterImporter"),
58  source = cms.InputTag("particleFlowClusterECAL"),
59  BCtoPFCMap = cms.InputTag('particleFlowSuperClusterECAL:PFClusterAssociationEBEE') ),
60  cms.PSet( importerName = cms.string("GenericClusterImporter"),
61  source = cms.InputTag("particleFlowClusterHCAL") ),
62  cms.PSet( importerName = cms.string("GenericClusterImporter"),
63  source = cms.InputTag("particleFlowClusterHO") ),
64  cms.PSet( importerName = cms.string("GenericClusterImporter"),
65  source = cms.InputTag("particleFlowClusterHF") ),
66  cms.PSet( importerName = cms.string("GenericClusterImporter"),
67  source = cms.InputTag("particleFlowClusterPS") ),
68 
69  ),
70 
71  #linking definitions
72  # you can find a list of all available linkers in:
73  # plugins/linkers
74  # see : plugins/kdtrees for available KDTree Types
75  # to enable a KDTree for a linking pair, write a KDTree linker
76  # and set useKDTree = True in the linker PSet
77  #order does not matter here since we are defining a lookup table
78  linkDefinitions = cms.VPSet(
79  cms.PSet( linkerName = cms.string("PreshowerAndECALLinker"),
80  linkType = cms.string("PS1:ECAL"),
81  useKDTree = cms.bool(True) ),
82  cms.PSet( linkerName = cms.string("PreshowerAndECALLinker"),
83  linkType = cms.string("PS2:ECAL"),
84  useKDTree = cms.bool(True) ),
85  cms.PSet( linkerName = cms.string("TrackAndECALLinker"),
86  linkType = cms.string("TRACK:ECAL"),
87  useKDTree = cms.bool(True) ),
88  cms.PSet( linkerName = cms.string("TrackAndHCALLinker"),
89  linkType = cms.string("TRACK:HCAL"),
90  useKDTree = cms.bool(True) ),
91  cms.PSet( linkerName = cms.string("TrackAndHOLinker"),
92  linkType = cms.string("TRACK:HO"),
93  useKDTree = cms.bool(False) ),
94  cms.PSet( linkerName = cms.string("ECALAndHCALLinker"),
95  linkType = cms.string("ECAL:HCAL"),
96  useKDTree = cms.bool(False) ),
97  cms.PSet( linkerName = cms.string("HCALAndHOLinker"),
98  linkType = cms.string("HCAL:HO"),
99  useKDTree = cms.bool(False) ),
100  cms.PSet( linkerName = cms.string("HFEMAndHFHADLinker"),
101  linkType = cms.string("HFEM:HFHAD"),
102  useKDTree = cms.bool(False) ),
103  cms.PSet( linkerName = cms.string("TrackAndTrackLinker"),
104  linkType = cms.string("TRACK:TRACK"),
105  useKDTree = cms.bool(False) ),
106  cms.PSet( linkerName = cms.string("ECALAndECALLinker"),
107  linkType = cms.string("ECAL:ECAL"),
108  useKDTree = cms.bool(False) ),
109  cms.PSet( linkerName = cms.string("GSFAndECALLinker"),
110  linkType = cms.string("GSF:ECAL"),
111  useKDTree = cms.bool(False) ),
112  cms.PSet( linkerName = cms.string("TrackAndGSFLinker"),
113  linkType = cms.string("TRACK:GSF"),
114  useKDTree = cms.bool(False),
115  useConvertedBrems = cms.bool(True) ),
116  cms.PSet( linkerName = cms.string("GSFAndBREMLinker"),# here
117  linkType = cms.string("GSF:BREM"),
118  useKDTree = cms.bool(False) ),
119  cms.PSet( linkerName = cms.string("GSFAndGSFLinker"),
120  linkType = cms.string("GSF:GSF"),
121  useKDTree = cms.bool(False) ),
122  cms.PSet( linkerName = cms.string("ECALAndBREMLinker"),
123  linkType = cms.string("ECAL:BREM"),
124  useKDTree = cms.bool(False) ),
125  cms.PSet( linkerName = cms.string("GSFAndHCALLinker"),
126  linkType = cms.string("GSF:HCAL"),
127  useKDTree = cms.bool(False) ),
128  cms.PSet( linkerName = cms.string("HCALAndBREMLinker"),
129  linkType = cms.string("HCAL:BREM"),
130  useKDTree = cms.bool(False) ),
131  cms.PSet( linkerName = cms.string("SCAndECALLinker"),
132  linkType = cms.string("SC:ECAL"),
133  useKDTree = cms.bool(False),
134  SuperClusterMatchByRef = cms.bool(True) )
135  )
136 )
137 
138