CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
ALCARECODtCalib_cff.py
Go to the documentation of this file.
2 
3 import copy
5 
7 
8 # AlCaReco for DT calibration
9 ALCARECODtCalibHLTFilter = copy.deepcopy(hltHighLevel)
10 
11 #ALCARECODtCalibHLTFilter.andOr = True ## choose logical OR between Triggerbits
12 #ALCARECODtCalibHLTFilter.HLTPaths = ['HLT_L1MuOpen', 'HLT_L1Mu']
13 ALCARECODtCalibHLTFilter.throw = False ## dont throw on unknown path names
14 
15 ALCARECODtCalibHLTFilter.eventSetupPathsKey = 'MuAlcaDtCalibMu'
16 
17 # Configuration for DT 4D segments without the wire propagation correction
20 
21 DTCombinatorialPatternReco4DAlgo_LinearDriftFromDB_NoWire = cms.PSet(
22  Reco4DAlgoName = cms.string('DTCombinatorialPatternReco4D'),
23  Reco4DAlgoConfig = cms.PSet(
24  # this are the RecSegment2D algo parameters!
25  DTCombinatorialPatternReco2DAlgo_LinearDriftFromDB,
26  # Parameters for the updator
27  # this is the RecHit1D algo!!
28  DTLinearDriftFromDBAlgo,
29  debug = cms.untracked.bool(False),
30  # Parameters for the cleaner
31  nUnSharedHitsMin = cms.int32(2),
32  # the input type.
33  # If true the instructions in setDTRecSegment2DContainer will be schipped and the
34  # theta segment will be recomputed from the 1D rechits
35  # If false the theta segment will be taken from the Event. Caveat: in this case the
36  # event must contain the 2D segments!
37  AllDTRecHits = cms.bool(True),
38  # Parameters for T0 fit segment in the Updator
39  performT0SegCorrection = cms.bool(False),
40  hit_afterT0_resolution = cms.double(0.03),
41  performT0_vdriftSegCorrection = cms.bool(False),
42  doWirePropCorrection = cms.bool(False)
43  )
44 )
45 
46 # The actual 4D uncorrected segments build
47 dt4DSegmentsNoWire = cms.EDProducer("DTRecSegment4DProducer",
48  # The reconstruction algo and its parameter set
49  DTCombinatorialPatternReco4DAlgo_LinearDriftFromDB_NoWire,
50  # debuggin opt
51  debug = cms.untracked.bool(False),
52  # name of the rechit 1D collection in the event
53  recHits1DLabel = cms.InputTag("dt1DRecHits"),
54  # name of the rechit 2D collection in the event
55  recHits2DLabel = cms.InputTag("dt2DSegments")
56 )
57 
58 #this is to select collisions
59 primaryVertexFilter = cms.EDFilter("VertexSelector",
60  src = cms.InputTag("offlinePrimaryVertices"),
61  cut = cms.string("!isFake && ndof > 4 && abs(z) <= 15 && position.Rho <= 2"), # tracksSize() > 3 for the older cut
62  filter = cms.bool(True), # otherwise it won't filter the events, just produce an empty vertex collection.
63 )
64 
65 noscraping = cms.EDFilter("FilterOutScraping",
66  applyfilter = cms.untracked.bool(True),
67  debugOn = cms.untracked.bool(False),
68  numtrack = cms.untracked.uint32(10),
69  thresh = cms.untracked.double(0.25)
70 )
71 
72 
73 seqALCARECODtCalib = cms.Sequence(primaryVertexFilter * noscraping * ALCARECODtCalibHLTFilter * DTCalibMuonSelection * dt4DSegmentsNoWire)