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
import Alignment.CommonAlignment.tools.trackselectionRefitting as TrackRefitterSequencer

strTBDConstrainer=None
strtbdsel="y1ssel"
if hasattr(optpy,"TBDsel"):
   strtbdsel=optpy.TBDsel
if hasattr(optpy, "TBDconstraint"):
   strtbdconstr=optpy.TBDconstraint
   if "momconstr" in strtbdconstr:
      process.load("RecoTracker.TrackProducer.TwoBodyDecayMomConstraintProducer_cff")
      process.TwoBodyDecayMomConstraint.src = "AlignmentTrackSelector"
      if "y1ssel" in strtbdsel:
         process.TwoBodyDecayMomConstraint.primaryMass = cms.double(9.46)
         process.TwoBodyDecayMomConstraint.primaryWidth = cms.double(0.05)
      #process.TwoBodyDecayMomConstraint.sigmaPositionCut = cms.double(0.07)
      process.TwoBodyDecayMomConstraint.rescaleError = cms.double(1.0)
      process.TwoBodyDecayMomConstraint.chi2Cut = cms.double(99999.)
      #process.TwoBodyDecayMomConstraint.EstimatorParameters.RobustificationConstant = cms.double(1.0)
      strTBDConstrainer="TwoBodyDecayMomConstraint,momentum"

   elif "fullconstr" in strtbdconstr:
      process.load("RecoTracker.TrackProducer.TwoBodyDecayConstraintProducer_cff")
      process.TwoBodyDecayConstraint.src = "AlignmentTrackSelector"
      if "y1ssel" in strtbdsel:
         process.TwoBodyDecayConstraint.primaryMass = cms.double(9.46)
         process.TwoBodyDecayConstraint.primaryWidth = cms.double(0.05)
      #process.TwoBodyDecayConstraint.sigmaPositionCut = cms.double(0.07)
      process.TwoBodyDecayConstraint.rescaleError = cms.double(1.0)
      process.TwoBodyDecayConstraint.chi2Cut = cms.double(99999.)
      #process.TwoBodyDecayConstraint.EstimatorParameters.RobustificationConstant = cms.double(1.0)
      strTBDConstrainer="TwoBodyDecayConstraint,trackParameters"

process.TrackRefitterSequence = TrackRefitterSequencer.getSequence(
   process,
   strtrackcollname,
   TTRHBuilder = strTTRHBuilder,
   usePixelQualityFlag = None, # Keep default behavior ("WithAngleAndTemplate" -> True, "WithTrackAngle" -> False)
   openMassWindow = False,
   cosmicsDecoMode = False,
   cosmicsZeroTesla = False,
   momentumConstraint = strTBDConstrainer, # Should be a momentum constraint object
   cosmicTrackSplitting = False,
   use_d0cut = True
   )

# Override TrackRefitterSequencer defaults
process.HighPurityTrackSelector.pMin   = 0.0
process.AlignmentTrackSelector.pMin    = 0.0
process.AlignmentTrackSelector.ptMin   = 3.0
process.AlignmentTrackSelector.etaMin  = -3.0
process.AlignmentTrackSelector.etaMax  = 3.0
process.AlignmentTrackSelector.nHitMin = 4
process.AlignmentTrackSelector.minHitsPerSubDet.inPIXEL = cms.int32(1)
process.AlignmentTrackSelector.TwoBodyDecaySelector.daughterMass = 0.105658
if "y1ssel" in strtbdsel:
   process.AlignmentTrackSelector.TwoBodyDecaySelector.minXMass = 9.2
   process.AlignmentTrackSelector.TwoBodyDecaySelector.maxXMass = 9.65