# Test the production of the complete chain: # from digi to RecSegment 4D, through RecHit1D and RecSegment2D # starting from real cosmic data from commissioning # Up to now only the Linear Drift alogo is available for the # commisioning data. ## process testDTAnalyzer = { include "CondCore/DBCommon/data/CondDBSetup.cfi" ############################################################################################ # F I L E R E A D E R ############################################################################################ # Event Formatter untracked PSet maxEvents = { untracked int32 input = 10000 } # ====================================================== # 1) choose here your Input data # ====================================================== # global runs: source = PoolSource { untracked string fileMatchMode = "permissive" untracked uint32 firstRun = 0 untracked uint32 firstEvent = 0 untracked uint32 skipEvents = 0 # untracked vstring fileNames = {'/store/data/GlobalSep07/A/000/020/734/RAW/0000/0294755E-276D-DC11-AC53-000423D69D4A.root'} # untracked vstring fileNames = {'/store/data/GlobalNov07/A/000/...'} untracked vstring fileNames = { # 'file:/raid3/data/YB0/GREN/Run30126_1.root', # 'file:/raid3/data/YB0/GREN/Run30126_2.root', # 'file:/raid3/data/YB0/GREN/Run30126_3.root' # 'file:/raid3/data/YB0/GREN/Run30146_1.root', # 'file:/raid3/data/YB0/GREN/Run30146_2.root', # 'file:/raid3/data/YB0/GREN/Run30146_3.root', # 'file:/raid3/data/YB0/GREN/Run30146_4.root' # 'file:/raid3/data/YB0/GREN/Run30160_1.root', # 'file:/raid3/data/YB0/GREN/Run30160_2.root', # 'file:/raid3/data/YB0/GREN/Run30160_3.root', # 'file:/raid3/data/YB0/GREN/Run30160_4.root', # 'file:/raid3/data/YB0/GREN/Run30160_5.root', # 'file:/raid3/data/YB0/GREN/Run30160_6.root' 'file:/raid3/data/YB0/GREN/Run30625_1.root', 'file:/raid3/data/YB0/GREN/Run30625_2.root', 'file:/raid3/data/YB0/GREN/Run30625_3.root', 'file:/raid3/data/YB0/GREN/Run30625_4.root', 'file:/raid3/data/YB0/GREN/Run30625_5.root', 'file:/raid3/data/YB0/GREN/Run30625_6.root', 'file:/raid3/data/YB0/GREN/Run30625_7.root', 'file:/raid3/data/YB0/GREN/Run30625_8.root', 'file:/raid3/data/YB0/GREN/Run30625_9.root', 'file:/raid3/data/YB0/GREN/Run30625_10.root', 'file:/raid3/data/YB0/GREN/Run30625_11.root', 'file:/raid3/data/YB0/GREN/Run30625_12.root', 'file:/raid3/data/YB0/GREN/Run30625_13.root', 'file:/raid3/data/YB0/GREN/Run30625_14.root', 'file:/raid3/data/YB0/GREN/Run30625_15.root', 'file:/raid3/data/YB0/GREN/Run30625_16.root', 'file:/raid3/data/YB0/GREN/Run30625_17.root', 'file:/raid3/data/YB0/GREN/Run30625_18.root', 'file:/raid3/data/YB0/GREN/Run30625_19.root', 'file:/raid3/data/YB0/GREN/Run30625_20.root', 'file:/raid3/data/YB0/GREN/Run30625_21.root', 'file:/raid3/data/YB0/GREN/Run30625_22.root', 'file:/raid3/data/YB0/GREN/Run30625_23.root', 'file:/raid3/data/YB0/GREN/Run30625_24.root', 'file:/raid3/data/YB0/GREN/Run30625_25.root', 'file:/raid3/data/YB0/GREN/Run30625_26.root', 'file:/raid3/data/YB0/GREN/Run30625_27.root', 'file:/raid3/data/YB0/GREN/Run30625_28.root', 'file:/raid3/data/YB0/GREN/Run30625_29.root', 'file:/raid3/data/YB0/GREN/Run30625_30.root' } } # =========================================================== # 2) Configure here the Data Unpacker # =========================================================== module dtunpacker = DTUnpackingModule { string dataType = "DDU" untracked bool fedbyType = true untracked bool useStandardFEDid = true PSet readOutParameters = { untracked bool localDAQ = false untracked bool performDataIntegrityMonitor = false untracked bool debug = false PSet rosParameters = { untracked bool localDAQ = false untracked bool readingDDU = true untracked bool writeSC = true untracked bool readDDUIDfromDDU = true untracked bool performDataIntegrityMonitor = false untracked bool debug = false } } } # ================================= # 3) Mapping # ================================= es_source dtPedestals = PoolDBESSource { string timetype = "runnumber" # YB0: # string connect = "sqlite_file:/afs/cern.ch/cms/Physics/muon/CMSSW/DT/SQLLite/TestYB0/channelsMap_new/mapWh0.db" # untracked string catalog = "file:/afs/cern.ch/cms/Physics/muon/CMSSW/DT/SQLLite/TestYB0/channelsMap_new/mapWh0.xml" string connect = "sqlite_file:/afs/cern.ch/cms/Physics/muon/CMSSW/DT/SQLLite/cms/mapWh0_774.db" untracked bool siteLocalConfig = true untracked uint32 authenticationMethod = 0 PSet DBParameters = { untracked int32 messageLevel = 0 } VPSet toGet = { { string record = "DTReadOutMappingRcd" string tag = "channelsMap" } } } include "CondCore/DBCommon/data/CondDBSetup.cfi" # ================================================================= # 4) define here the T0 map to be used (t0.db s for ALL Sectors) # ================================================================= # T0 from DB es_source t0 = PoolDBESSource { using CondDBSetup VPSet toGet = { { string record = "DTT0Rcd" # string tag = "tzero_13_03_07" string tag = "t0" } } bool loadAll = true # old t0's: # string connect = "sqlite_file:/afs/cern.ch/cms/Physics/muon/CMSSW/DT/SQLLite/TestYB0/t0/t0.db" # new t0's (original from Silvia in: /afs/cern.ch/user/m/maselli/public/SYNCRO/Wheel0_wrtChamber/.) string connect = "sqlite_file:t0_wrtchamber_wheel0_whole.db" string timetype = "runnumber" # untracked uint32 authenticationMethod = 0 # untracked uint32 messagelevel = 0 } # =============================================================== # 5) tTrig map to be used # =============================================================== es_source tTrigMapping = PoolDBESSource { using CondDBSetup # string connect = "sqlite_file:ttrigg_YB0_Run26402.db" # string connect = "sqlite_file:ttrigg_YB0_Run27963.db" # string connect = "sqlite_file:ttrigg_YB0_Run27988.db" # from Silvia (original in /afs/cern.ch/user/m/maselli/public/SYNCRO/Wheel0_wrtChamber/.) # string connect = "sqlite_file:ttrig_wrtchamber_wh0_noise27932_corrected.db" # string connect = "sqlite_file:ttrigg_YB0_Run30126new.db" # string connect = "sqlite_file:ttrigg_YB0_Run30146_30160new.db" string connect = "sqlite_file:ttrigg_YB0_Run30625new.db" string timetype = "runnumber" untracked uint32 authenticationMethod = 0 VPSet toGet = { { string record = "DTTtrigRcd" string tag = "tTrig" # string tag = "ttrig" } } } # ============================================ # 6) cfi's for reconstruction # ============================================ include "Geometry/CaloEventSetup/data/CaloGeometry.cfi" include "Geometry/CMSCommonData/data/cmsSimIdealGeometryXML.cfi" # include "Geometry/MuonCommonData/data/muonIdealGeometryXML.cfi" include "Geometry/DTGeometry/data/dtGeometry.cfi" include "Geometry/CSCGeometry/data/cscGeometry.cfi" include "Geometry/MuonNumbering/data/muonNumberingInitialization.cfi" include "RecoLocalMuon/DTRecHit/data/dt1DRecHits_LinearDrift_CosmicData.cfi" # modified hit resolution # include "RecoLocalMuon/DTSegment/test/dt1DRecHits_LinearDrift_CosmicData.cfi" # replace double hitResolution = 0.06 include "RecoLocalMuon/DTSegment/data/dt2DSegments_CombPatternReco2D_LinearDrift_CosmicData.cfi" include "RecoLocalMuon/DTSegment/data/dt4DSegments_CombPatternReco4D_LinearDrift_CosmicData.cfi" ## Geometry include "Geometry/CommonDetUnit/data/globalTrackingGeometry.cfi" include "MagneticField/Engine/data/uniformMagneticField.cfi" #include "RecoLocalMuon/DTSegment/test/uniformMagneticField.cfi" # temporary....(and wrong!, just for 'formal' tests...) #include "MagneticField/Engine/data/volumeBasedMagneticField.cfi" #es_prefer = UniformMagneticFieldESProducer{} include "RecoMuon/DetLayers/data/muonDetLayerGeometry.cfi" include "RecoMuon/MuonSeedGenerator/data/CosmicMuonSeedProducer.cfi" replace CosmicMuonSeed.EnableCSCMeasurement = false include "RecoMuon/CosmicMuonProducer/data/cosmicMuons.cfi" replace cosmicMuons.TrajectoryBuilderParameters.EnableDTMeasurement = true replace cosmicMuons.TrajectoryBuilderParameters.EnableCSCMeasurement = false replace cosmicMuons.TrajectoryBuilderParameters.EnableRPCMeasurement = false #replace cosmicMuons.TrajectoryBuilderParameters.BackwardMuonTrajectoryUpdatorParameters.Granularity= 0 ## propagation include "TrackPropagation/SteppingHelixPropagator/data/SteppingHelixPropagator.cfi" # avoid printout at each event... service = MessageLogger { untracked vstring categories = { "CosmicMuonProducer" , "CosmicMuonTrajectoryBuilder" } untracked vstring destinations = { "cout" } # untracked vstring categories = { "CosmicMuonProducer" } untracked vstring debugModules = { "*" } untracked vstring debugModules = { "CosmicMuonProducer" , "CosmicMuonTrajectoryBuilder" } untracked PSet cout = { untracked string threshold = "WARNING" untracked bool noLineBreaks = true untracked PSet WARNING = {untracked int32 limit = 0 } } } ####### Include Survey DB wheels 0,1,2 on surface ##### include "RecoLocalMuon/DTSegment/test/loadDataBase.cfi" # to have reco object output file: # module out = PoolOutputModule { # untracked string fileName ="MuonReco.root" # } # =================================================== # 7) configuration of your analyzer # =================================================== ## _Reader_ ## module DTAnalyzer = DTAnalyzer { bool doTrig = true bool doHits = true bool doSegs = true bool doSA = true bool isMC = true untracked bool debug = false bool LCT_RPC = true bool LCT_DT = true bool LCT_CSC = true ##untracked string rootFileName = "rootfiles/GREN/DTAnalyzerS_YB0_NominalII_GREN30625.root" untracked string rootFileName = "rootfiles/DTAnalyzerS.root" string DTLocalTriggerLabel = "dtunpacker" #### string digiLabel = "dtunpacker" string recHits1DLabel = "dt1DRecHits" string recHits2DLabel = "dt2DSegments" string recHits4DLabel = "dt4DSegments" # The module to be used for ttrig synchronization and its paraemter set untracked string tTrigMode = 'DTTTrigSyncFromDB' untracked PSet tTrigModeConfig = { untracked bool debug = false # The ttrig from the time box fit is defined as mean + kFactor * sigma double kFactor = -1.3 # The velocity of signal propagation along the wire (cm/ns) double vPropWire = 24.4 # Switch on/off the TOF correction from pulses bool doT0Correction = true # Switch on/off the TOF correction for particles bool doTOFCorrection = false # Switch on/off the correction for the signal propagation along the wire bool doWirePropCorrection = false # The correction type for TOF int32 tofCorrType = 2 int32 wirePropCorrType = 0 } string SALabel = "cosmicMuons" string PropagatorName = "SteppingHelixPropagator" } ## _Reader_ ## module DTEffAnalyzer = DTEffAnalyzer { bool isMC = true ## bool isMC = false untracked bool debug = false bool LCT_RPC = true bool LCT_DT = true bool LCT_CSC = true untracked string rootFileName = "DTEffAnalyzer_YB0.root" string DTLocalTriggerLabel = "dtunpacker" string recHits1DLabel = "dt1DRecHits" string recHits2DLabel = "dt2DSegments" string recHits4DLabel = "dt4DSegments" int32 minHitsSegment = 5 double minChi2NormSegment = 20. double minCloseDist = 20. } ## _Reader_ ## module MyDTAnalyzer = MyDTAnalyzer { bool doHits = true bool doSegs = true bool doSA = true bool isMC = true ## bool isMC = false untracked bool debug = false bool PRINT = false int32 Verbosity = 1 bool LCT_RPC = true bool LCT_DT = true bool LCT_CSC = true #untracked string rootFileName = "rootfiles/GREN/DTAnalyzer_NomGeom_YB0_GREN30625.root" untracked string rootFileName = "rootfiles/MyDTAnalyzer.root" string DTLocalTriggerLabel = "dtunpacker" string recHits1DLabel = "dt1DRecHits" string recHits2DLabel = "dt2DSegments" string recHits4DLabel = "dt4DSegments" # Cut in the Chi2 of the reco track double chi2Cut = 999999 ## Cut in 35 (after exponential fit, 87% efficiency) # The module to be used for ttrig synchronization and its paraemter set untracked string tTrigMode = 'DTTTrigSyncFromDB' untracked PSet tTrigModeConfig = { untracked bool debug = false # The ttrig from the time box fit is defined as mean + kFactor * sigma double kFactor = -1.3 # The velocity of signal propagation along the wire (cm/ns) double vPropWire = 24.4 # Switch on/off the TOF correction from pulses bool doT0Correction = true # Switch on/off the TOF correction for particles bool doTOFCorrection = false # Switch on/off the correction for the signal propagation along the wire bool doWirePropCorrection = false # The correction type for TOF int32 tofCorrType = 2 int32 wirePropCorrType = 0 } string SALabel = "cosmicMuons" } ## include "VisFramework/VisApplication/data/iguana-dt.cfi" ## for 3D visualization... service = VisConfigurationService { ########## # Number of various windows to be popped up and tiled. # Default value is 'RPhi Window' # # untracked vstring Views = {'3D Window', 'Lego Window', 'RPhi Window', 'RZ Window'} untracked vstring Views = {'3D Window'} # ######### # Which context data proxies to load (the default value is defined # in VisApplicationMain and usually loads all available data proxies): untracked vstring ContentProxies = {'Reco/Detector','Reco/Hcal', 'Reco/MuonDT', 'Reco/MuonCSC', # 'Reco/Trigger', 'Reco/Calorimetry', 'Reco/Ecal'} # 'Reco/Trigger', 'Reco/Calorimetry', 'Reco/Ecal', 'Reco/Muon'} 'Reco/Muon', 'Reco/CMS Magnetic Field'} untracked vstring EnabledTwigs = { # '/Objects/CMS Event and Detector/HCAL Event/Hcal Barrel and Endcap RecHits', # '/Objects/CMS Event and Detector/HCAL Event/Hcal Forward RecHits', # '/Objects/CMS Event and Detector/ECAL Event/Rec hits', '/Objects/CMS Event and Detector/Muon DT Event/DT Digis', '/Objects/CMS Event and Detector/Muon DT Event/DT RecHits', # '/Objects/CMS Event and Detector/DTs/Wheel 0/Sector 10', # '/Objects/CMS Event and Detector/DTs/Wheel 0/Sector 12', # '/Objects/CMS Event and Detector/DTs/Wheel 1/Sector 10', # '/Objects/CMS Event and Detector/DTs/Wheel 1/Sector 11', # '/Objects/CMS Event and Detector/DTs/Wheel 1/Sector 2', # '/Objects/CMS Event and Detector/DTs/Wheel 1/Sector 3' '/Objects/CMS Event and Detector/DTs/Wheel 0' } } #path p = {dtunpacker, dt1DRecHits, dt2DSegments, dt4DSegments, CosmicMuonSeed, cosmicMuons, DTAnalyzer,DTEffAnalyzer} path p = {dtunpacker, dt1DRecHits, dt2DSegments, dt4DSegments, CosmicMuonSeed, cosmicMuons, DTAnalyzer} #path p = {dtunpacker, dt1DRecHits, dt2DSegments, dt4DSegments, CosmicMuonSeed, cosmicMuons, MyDTAnalyzer} ## this is to have edm-root output file with reco objects ## endpath this_is_the_end = {out} }