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("particleFlowClusterHFEM") ),
66  cms.PSet( importerName = cms.string("GenericClusterImporter"),
67  source = cms.InputTag("particleFlowClusterHFHAD") ),
68  cms.PSet( importerName = cms.string("GenericClusterImporter"),
69  source = cms.InputTag("particleFlowClusterPS") ),
70 
71  ),
72 
73  #linking definitions
74  # you can find a list of all available linkers in:
75  # plugins/linkers
76  # see : plugins/kdtrees for available KDTree Types
77  # to enable a KDTree for a linking pair, write a KDTree linker
78  # and set useKDTree = True in the linker PSet
79  #order does not matter here since we are defining a lookup table
80  linkDefinitions = cms.VPSet(
81  cms.PSet( linkerName = cms.string("PreshowerAndECALLinker"),
82  linkType = cms.string("PS1:ECAL"),
83  useKDTree = cms.bool(True) ),
84  cms.PSet( linkerName = cms.string("PreshowerAndECALLinker"),
85  linkType = cms.string("PS2:ECAL"),
86  useKDTree = cms.bool(True) ),
87  cms.PSet( linkerName = cms.string("TrackAndECALLinker"),
88  linkType = cms.string("TRACK:ECAL"),
89  useKDTree = cms.bool(True) ),
90  cms.PSet( linkerName = cms.string("TrackAndHCALLinker"),
91  linkType = cms.string("TRACK:HCAL"),
92  useKDTree = cms.bool(True) ),
93  cms.PSet( linkerName = cms.string("TrackAndHOLinker"),
94  linkType = cms.string("TRACK:HO"),
95  useKDTree = cms.bool(False) ),
96  cms.PSet( linkerName = cms.string("ECALAndHCALLinker"),
97  linkType = cms.string("ECAL:HCAL"),
98  useKDTree = cms.bool(False) ),
99  cms.PSet( linkerName = cms.string("HCALAndHOLinker"),
100  linkType = cms.string("HCAL:HO"),
101  useKDTree = cms.bool(False) ),
102  cms.PSet( linkerName = cms.string("HFEMAndHFHADLinker"),
103  linkType = cms.string("HFEM:HFHAD"),
104  useKDTree = cms.bool(False) ),
105  cms.PSet( linkerName = cms.string("TrackAndTrackLinker"),
106  linkType = cms.string("TRACK:TRACK"),
107  useKDTree = cms.bool(False) ),
108  cms.PSet( linkerName = cms.string("ECALAndECALLinker"),
109  linkType = cms.string("ECAL:ECAL"),
110  useKDTree = cms.bool(False) ),
111  cms.PSet( linkerName = cms.string("GSFAndECALLinker"),
112  linkType = cms.string("GSF:ECAL"),
113  useKDTree = cms.bool(False) ),
114  cms.PSet( linkerName = cms.string("TrackAndGSFLinker"),
115  linkType = cms.string("TRACK:GSF"),
116  useKDTree = cms.bool(False),
117  useConvertedBrems = cms.bool(True) ),
118  cms.PSet( linkerName = cms.string("GSFAndBREMLinker"),# here
119  linkType = cms.string("GSF:BREM"),
120  useKDTree = cms.bool(False) ),
121  cms.PSet( linkerName = cms.string("GSFAndGSFLinker"),
122  linkType = cms.string("GSF:GSF"),
123  useKDTree = cms.bool(False) ),
124  cms.PSet( linkerName = cms.string("ECALAndBREMLinker"),
125  linkType = cms.string("ECAL:BREM"),
126  useKDTree = cms.bool(False) ),
127  cms.PSet( linkerName = cms.string("GSFAndHCALLinker"),
128  linkType = cms.string("GSF:HCAL"),
129  useKDTree = cms.bool(False) ),
130  cms.PSet( linkerName = cms.string("HCALAndBREMLinker"),
131  linkType = cms.string("HCAL:BREM"),
132  useKDTree = cms.bool(False) ),
133  cms.PSet( linkerName = cms.string("SCAndECALLinker"),
134  linkType = cms.string("SC:ECAL"),
135  useKDTree = cms.bool(False),
136  SuperClusterMatchByRef = cms.bool(True) )
137  )
138 )
139 
140