Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:22:46

0001 import FWCore.ParameterSet.Config as cms
0002 
0003 process = cms.Process("TEST")
0004 #process.load("MuonAnalysis.MomentumScaleCalibration.Summer08_Upsilon1S_cff")
0005 
0006 process.source = cms.Source(
0007     "PoolSource",
0008     fileNames = cms.untracked.vstring(
0009     "file:/home/demattia/Data/Z/Filter_Z_10.root",
0010     ),
0011     inputCommands = cms.untracked.vstring(
0012     "keep *",
0013     "drop *_TriggerResults_*_*")
0014 )
0015 
0016 process.load("Geometry.CMSCommonData.cmsIdealGeometryXML_cfi")
0017 process.load("Geometry.CommonTopologies.globalTrackingGeometry_cfi")
0018 process.load("RecoMuon.DetLayers.muonDetLayerGeometry_cfi")
0019 process.load("Geometry.MuonNumbering.muonNumberingInitialization_cfi")
0020 process.load("RecoMuon.TrackingTools.MuonServiceProxy_cff")
0021 process.load("Alignment.CommonAlignmentProducer.GlobalPosition_Fake_cff")
0022 process.load("MagneticField.Engine.uniformMagneticField_cfi")
0023 
0024 # process.source = cms.Source("EmptySource")
0025 # 
0026 # process.maxEvents = cms.untracked.PSet(
0027 #     input = cms.untracked.int32(0)
0028 # )
0029 
0030 process.maxEvents = cms.untracked.PSet(
0031     input = cms.untracked.int32(10000)
0032 )
0033 process.looper = cms.Looper(
0034     "MuScleFit",
0035     process.MuonServiceProxy,
0036 
0037     # Choose the kind of muons you want to run on
0038     # -------------------------------------------
0039 
0040     # // all muons //
0041     MuonLabel = cms.InputTag("muons"),
0042     MuonType = cms.int32(1),
0043     # Defines what type of muons to use:
0044     # 0 = globalMuon
0045     # 1 = innerTrack
0046     # anything else = use all muons
0047     UseType = cms.untracked.uint32(1),
0048 
0049     # // standalone muons //
0050     # MuonLabel = cms.InputTag("standAloneMuons:UpdatedAtVtx"),
0051     # MuonType = cms.int32(2),
0052 
0053     # // tracker tracks //
0054     # MuonLabel = cms.InputTag("generalTracks"), # ctfWithMaterialTracks
0055     # MuonType = cms.int32(3),
0056 
0057     # // global muons (these are still reco::Tracks) //
0058     # MuonLabel = cms.InputTag("muons"),
0059     # MuonType = cms.int32(3),
0060 
0061     # Output settings
0062     # ---------------
0063     OutputFileName = cms.untracked.string('MuScleFit.root'),
0064     debug = cms.untracked.int32(0),
0065 
0066     # Likelihood settings
0067     # -------------------
0068     maxLoopNumber = cms.untracked.int32(3),
0069     # Select which fits to do in which loop (0 = do not, 1 = do)
0070     doResolFit =      cms.vint32(0, 1, 0),
0071     doScaleFit =      cms.vint32(1, 0, 0),
0072     doBackgroundFit = cms.vint32(0, 0, 0),
0073 
0074     # Fit parameters and fix flags (1 = use par)
0075     # ==========================================
0076 
0077     # BiasType=0 means no bias to muon momenta
0078     # ----------------------------------------
0079     BiasType = cms.int32(0),
0080     parBias = cms.vdouble(),
0081 
0082     # BiasType = 1 means linear bias on the muons Pt
0083     # the two parameters are the constant and the Pt
0084     # coefficient in this order.
0085     # ----------------------------------------------
0086     # BiasType = cms.int32(1),
0087     # parBias = cms.vdouble(1.015, 0.001),
0088 
0089     # Sinusoidal in phi
0090     # -----------------
0091     # BiasType = 3 means sinusoidal bias on the muons Pt
0092     # the two parameters are defined by:
0093     # pt = (parScale[0] + parScale[1]*sin(phi))*pt; 
0094     # BiasType = cms.int32(3),
0095     # parBias = cms.vdouble(1.015, 0.025),
0096 
0097     # SmearType=0 means no smearing applied to muon momenta
0098     # -----------------------------------------------------
0099     SmearType = cms.int32(0),
0100     parSmear = cms.vdouble(),
0101 
0102     # ------------------------- #
0103     # Resolution fit parameters #
0104     # ------------------------- #
0105     #ResolFitType = cms.int32(8),
0106     #parResol = cms.vdouble(-0.003, 0.000205, 1.0, 0.445473,
0107     #                       0.00043, 0.0041, 0.0000028, 0.000077,
0108     #                       0.00011, 0.0018, -0.00000094, 0.000022),
0109     #parResolFix = cms.vint32(0, 0, 0, 0,
0110     #                         1, 1, 1, 1,
0111     #                         1, 1, 1, 1),
0112     #parResolOrder = cms.vint32(0, 0, 0, 0,
0113     #                           0, 0, 0, 0,
0114     #                           0, 0, 0, 0),
0115 
0116     # ------------------------------------------------- #
0117     # New resolution function derived for low Pt region #
0118     # ------------------------------------------------- #
0119     # The eleven parResol parameters of resolfittype=11 are respectively:
0120     #"offsetEtaCentral", "offsetEtaHigh", "coeffOverPt", "coeffHighPt", "linaerEtaCentral", "parabEtaCentral", "linaerEtaHigh", "parabEtaHigh" };
0121     ResolFitType = cms.int32(11), #inner tracks in 31X
0122     parResol = cms.vdouble(-0.986, -0.986, -0.04, -0.038, -0.0014, 0.006, -0.0025, 0.0185),
0123     parResolFix = cms.vint32(0, 0, 0, 0, 0, 0, 0, 0),
0124     parResolOrder = cms.vint32(0, 0, 0, 0, 0, 0, 0, 0),
0125 
0126 
0127     # -------------------- #
0128     # Scale fit parameters #
0129     # -------------------- #
0130 
0131     # Scale fit type=14: Pt offset and grade up to three, Eta terms up to the sixth grade
0132     # -----------------------------------------------------------------------------------
0133     ScaleFitType = cms.int32(14),
0134     parScaleOrder = cms.vint32(0,            # scale
0135                                0,0,0,        # pt up to grade 3
0136                                0,0,0,0,0,0), # eta up to grade 6
0137     parScaleFix =   cms.vint32(0,
0138                                0,0,0,
0139                                0,0,1,1,1,1),
0140     parScale = cms.vdouble(1.0,
0141                            -0.000000315315, 0., 0.,
0142                            0.0000147547, -0.00000836992, 0., 0., 0., 0.),
0143 
0144     # ---------------------------- #
0145     # Cross section fit parameters #
0146     # ---------------------------- #
0147     parCrossSectionOrder = cms.vint32(0, 0, 0, 0, 0, 0),
0148     parCrossSectionFix =   cms.vint32(0, 0, 0, 0, 0, 0),
0149     parCrossSection = cms.vdouble(1.233, 2.07, 6.33, 13.9, 2.169, 127.2),
0150 
0151     # ------------------------- #
0152     # Background fit parameters #
0153     # ------------------------- #
0154 
0155     # Window factors for: Z, Upsilons and (J/Psi,Psi2S) regions
0156     LeftWindowFactor = cms.vdouble(1., 10., 10.),
0157     RightWindowFactor = cms.vdouble(1., 10., 10.),
0158 
0159     # The parameter of BgrFitType=1 is the bgr fraction
0160     # -------------------------------------------------
0161     # BgrFitType = cms.int32(1),
0162     # parBgrFix = cms.vint32(0),
0163     # parBgr = cms.vdouble(0.001),
0164     # parBgrOrder = cms.vint32(0),
0165 
0166     # The two parameters of BgrFitType=2 are respectively:
0167     # bgr fraction, (negative of) bgr exp. slope, bgr constant
0168     # --------------------------------------------------------
0169     # The function types for resonances in a region must be the same
0170     BgrFitType = cms.vint32(2, 2, 2), # regions
0171     # These empty parameters should be used when there is no background
0172     parBgr = cms.vdouble(0., 0.,   0., 0.,   0., 0.,
0173                          0., 0.,   0., 0.,   0., 0.,   0.,0.,   0.,0.,   0.,0.),
0174     parBgrFix = cms.vint32(0, 0,   0, 0,   0, 0,
0175                            # The rest of the parameters is used for the resonance regions. They are automatically fixed in the code
0176                            # because they are never used to fit the background, but only after the rescaling.
0177                            1, 1,   1, 1,   1, 1,   1, 1,   1, 1,   1, 1),
0178     parBgrOrder = cms.vint32(0, 0,   0, 0,   0, 0,
0179                              0, 0,   0, 0,   0, 0,   0, 0,   0, 0,   0, 0),
0180 
0181     # ---------------- #
0182     # Select resonance #
0183     # ---------------- #
0184 
0185     # The resonances are to be specified in this order:
0186     # Z0, Y(3S), Y(2S), Y(1S), Psi(2S), J/Psi
0187     # -------------------------------------------------
0188     resfind = cms.vint32(1, 0, 0, 1, 0, 0),
0189     FitStrategy = cms.int32(2),
0190 
0191     speedup = cms.bool(False),
0192     OutputGenInfoFileName = cms.untracked.string("genSimRecoPlots.root"),
0193     # Set this to false if you do not want to use simTracks.
0194     # (Note that this is skipped anyway if speedup == True).
0195     compareToSimTracks = cms.bool(True),
0196 
0197     # This line is only necessary when running on fastSim
0198     # SimTracksCollection = cms.untracked.InputTag("fastSimProducer"),
0199     # This must be set to true when using events generated with Sherpa
0200     # Sherpa = cms.untracked.bool(True),
0201 
0202     # This line allows to switch to PAT muons. Default is false.
0203     # PATmuons = cms.untracked.bool(True),
0204 
0205     # This line allows to use the EDLooper or to loop by hand.
0206     # All the necessary information is saved during the first loop so there is not need
0207     # at this time to read again the events in successive iterations. Therefore by default
0208     # for iterations > 1 the loops are done by hand, which means that the framework does
0209     # not need to read all the events again. This is much faster.
0210     # If you need to read the events in every iteration put this to false.
0211     # FastLoop = cms.untracked.bool(False),
0212 
0213 
0214     # Only used when reading events from a root tree
0215     MaxEventsFromRootTree = cms.int32(-1)
0216 
0217     # Specify a file if you want to read events from a root tree in a local file.
0218     # In this case the input source should be an empty source with 0 events.
0219     InputRootTreeFileName = cms.string(""),
0220     # Specify the file name where you want to save a root tree with the muon pairs.
0221     # Leave empty if no file should be written.
0222     OutputRootTreeFileName = cms.string(""),
0223 
0224     # Fit accuracy and debug parameters
0225     StartWithSimplex = cms.bool(True),
0226     ComputeMinosErrors = cms.bool(False),
0227     MinimumShapePlots = cms.bool(False),
0228 
0229     TriggerResultsLabel = cms.untracked.InputTag("TEST"),
0230 )
0231 
0232 # Timing information
0233 #process.load("FWCore.MessageLogger.MessageLogger_cfi")
0234 #process.MessageLogger.logMuScleFit = cms.PSet(
0235 process.MessageLogger = cms.Service(
0236     "MessageLogger",
0237     destinations = cms.untracked.vstring('logMuScleFit'),
0238     # logMuScleFit = cms.untracked.PSet(
0239     threshold = cms.untracked.string('INFO'),
0240     #default = cms.untracked.PSet(
0241     #    limit = cms.untracked.int32(10000000)
0242     #    )
0243     # )
0244 )
0245 
0246 # TimingLogFile = cms.untracked.string('timing.log')
0247 # process.Timing = cms.Service("Timing")
0248 
0249 process.load("MuonAnalysis.MomentumScaleCalibration.MuScleFitGenFilter_cfi")
0250 
0251 path(MuScleFitGenFilter)