Muon Software Tutorial. Rick Wilkinson Caltech

Similar documents
Status Report of PRS/m

Muon Reconstruction and Identification in CMS

FAMOS: A Dynamically Configurable System for Fast Simulation and Reconstruction for CMS

The Compact Muon Solenoid Experiment. CMS Note. Mailing address: CMS CERN, CH-1211 GENEVA 23, Switzerland

Update of the BESIII Event Display System

Physics CMS Muon High Level Trigger: Level 3 reconstruction algorithm development and optimization

Atlantis event display tutorial

ATLAS, CMS and LHCb Trigger systems for flavour physics

Update of the BESIII Event Display System

A New Segment Building Algorithm for the Cathode Strip Chambers in the CMS Experiment

Alignment of the ATLAS Inner Detector

The CMS alignment challenge

Tracking and Vertexing performance in CMS

The CMS L1 Global Trigger Offline Software

Robustness Studies of the CMS Tracker for the LHC Upgrade Phase I

FastSim tutorial for beginners

The Track-Finding Processor for the Level-1 Trigger of the CMS Endcap Muon System

Physics and Detector Simulations. Norman Graf (SLAC) 2nd ECFA/DESY Workshop September 24, 2000

Trigger Report. W. H. Smith U. Wisconsin. Calorimeter & Muon Trigger: Highlights Milestones Concerns Near-term Activities CMS

Monte Carlo programs

Track reconstruction with the CMS tracking detector

CLEO III Cathode Hit Calibration

A System for Managing the CLEO III Detector Geometry

1. INTRODUCTION 2. MUON RECONSTRUCTION IN ATLAS. A. Formica DAPNIA/SEDI, CEA/Saclay, Gif-sur-Yvette CEDEX, France

The full detector simulation for the ATLAS experiment: status and outlook

Detector Response Simulation

ATLAS ITk Layout Design and Optimisation

Overview of the American Detector Models

ORCA User Guide. November 27, 2002

CMS Simulation Software

The ATLAS Conditions Database Model for the Muon Spectrometer

The Compact Muon Solenoid Experiment. CMS Note. Mailing address: CMS CERN, CH-1211 GENEVA 23, Switzerland

FAST site EMU CSC test results a global view from ROOT N. Terentiev

Electron and Photon Reconstruction and Identification with the ATLAS Detector

Charged Particle Tracking at Cornell: Gas Detectors and Event Reconstruction

Results on Long Term Performances and Laboratory Tests on the L3 RPC system at LEP. Gianpaolo Carlino INFN Napoli

Design of the new ATLAS Inner Tracker (ITk) for the High Luminosity LHC

The Compact Muon Solenoid Experiment. Conference Report. Mailing address: CMS CERN, CH-1211 GENEVA 23, Switzerland

CMS Muon Meeting. HLT DT Calibration. (on Data Challenge Dedicated Stream) G. Cerminara N. Amapane M. Giunta

Charged Particle Tracking at Cornell: Gas Detectors and Event Reconstruction

The CMS Tracker Laser Alignment System

PXD Simulation and Optimisation Studies

EicRoot for tracking R&D studies

PoS(High-pT physics09)036

Track reconstruction of real cosmic muon events with CMS tracker detector

Track reconstruction for the Mu3e experiment based on a novel Multiple Scattering fit Alexandr Kozlinskiy (Mainz, KPH) for the Mu3e collaboration

Performance of the ATLAS Inner Detector at the LHC

Tracking and Vertex reconstruction at LHCb for Run II

Full Silicon Tracking Studies for CEPC

PoS(TIPP2014)204. Tracking at High Level Trigger in CMS. Mia TOSI Universitá degli Studi di Padova e INFN (IT)

The Trajectory Model for Track Fitting and Alignment

ATLAS Simulation Computing Performance and Pile-Up Simulation in ATLAS

Klaus Dehmelt EIC Detector R&D Weekly Meeting November 28, 2011 GEM SIMULATION FRAMEWORK

Event reconstruction in STAR

SIMULATION OF GEM DETECTORS IN CMS. Sunanda Banerjee, HENPP, SINP Supratik Mukhopadhyay, ANPD, SINP Nayana Majumdar, ANPD, SINP

CLAS12 Offline Software Tools. G.Gavalian (Jlab) CLAS Collaboration Meeting (June 15, 2016)

for the DESY/ ECFA study detector

SiD VXD Conceptual Design Su Dong SLAC

Anode Electronics Crosstalk on the ME 234/2 Chamber

arxiv:hep-ph/ v1 11 Mar 2002

Performance of the GlueX Detector Systems

Muon Trigger Electronics in the Counting Room

TPC Detector Response Simulation and Track Reconstruction

Tracking POG Update. Tracking POG Meeting March 17, 2009

Inside-out tracking at CDF

Alignment of the CMS Silicon Tracker

PoS(EPS-HEP2017)492. Performance and recent developments of the real-time track reconstruction and alignment of the LHCb detector.

TPC Detector Response Simulation and Track Reconstruction

SiD Simulation & Reconstruction. Norman Graf (for the sim/reco team) LCWS 2010, Beijing March 28, 2010

TPC Detector Response Simulation and Track Reconstruction

A LVL2 Zero Suppression Algorithm for TRT Data

Stefania Beolè (Università di Torino e INFN) for the ALICE Collaboration. TIPP Chicago, June 9-14

Full Simulation of Belle & Belle II SVD Detector (within ILC Framework)

Fast simulation in ATLAS

The CLICdp Optimization Process

Hall D and IT. at Internal Review of IT in the 12 GeV Era. Mark M. Ito. May 20, Hall D. Hall D and IT. M. Ito. Introduction.

The Belle II Software From Detector Signals to Physics Results

Cluster errors and Truth information Algorithms

MIP Reconstruction Techniques and Minimum Spanning Tree Clustering

Transient Data Store and Persistent Data

New results from LDCPrime optimization studies

CMS FPGA Based Tracklet Approach for L1 Track Finding

Tracker Software MECO/Mu2e Experience

3D-Triplet Tracking for LHC and Future High Rate Experiments

Charged Particle Reconstruction in HIC Detectors

Tracker algorithm based on Hough transformation

V. Karimäki, T. Lampén, F.-P. Schilling, The HIP algorithm for Track Based Alignment and its Application to the CMS Pixel Detector, CMS Note

ALICE tracking system

Simulation and data reconstruction framework slic & lcsim. Norman Graf, Jeremy McCormick SLAC HPS Collaboration Meeting May 27, 2011

arxiv: v1 [physics.ins-det] 13 Dec 2018

Both equations are solved using a finite differences (iterative relaxation) method, which takes some time to converge.

ATLAS Dr. C. Lacasta, Dr. C. Marinas

CSC Trigger Motherboard

ATLAS DCS Overview SCADA Front-End I/O Applications

Incident Information Management Tool

The GLAST Event Reconstruction: What s in it for DC-1?

PoS(EPS-HEP2017)523. The CMS trigger in Run 2. Mia Tosi CERN

Performance of Tracking, b-tagging and Jet/MET reconstruction at the CMS High Level Trigger

Performance of FPCCD vertex detector. T. Nagamine Tohoku University Feb 6, 2007 ACFA 9, IHEP,Beijin

A 3-D Track-Finding Processor for the CMS Level-1 Muon Trigger

Transcription:

Muon Software Tutorial Rick Wilkinson Caltech

The Basics Q: Is there a Muon class? A : No. A muon is just a RecTrack, the same class as the Tracker uses. Q: What information can I get from a RecTrack? A: All this GlobalPoint vertexposition() const; GlobalVector momentumatvertex() const; TrackCharge charge() const; Measurement1D transverseimpactparameter() const; vector<rechit> rechits() const; float normalisedchisquared() const; TrajectoryStateOnSurface outermoststate() const; and more.

Creating Standalone Muon Tracks Q: How do I get muon tracks from the muon detectors? A: AutoRecCollection<TTrack, G3EventProxy*> muons("muonreconstructor"); Q: Wait! What s this about TTracks? I thought they were RecTracks? A: TTrack inherits from RecTrack, and interfaces it to the reconstruction framework COBRA. It s nothing you have to worry about. Q: Is there anything special I need to do? A: You need to set up GEANE to propagate the tracks through the iron! setenv GEANEUSED TRUE Q: What about the segments, clusters, digis, etc.? A: They ll be reconstructed on-demand.

Looping Over Muons Use the AutoRecCollection, just like Stephan showed you: AutoRecCollection<TTrack, G3EventProxy*> muons("muonreconstructor"); AutoRecCollection<TTrack, G3EventProxy*>::iterator muonitr; for(muonitr = muons.begin(); muonitr!= muons.end(); ++muonitr) { cout << "the charge of this muon is " << (*muonitr)->charge() << endl; float pt = (*muonitr)->momentumatvertex().perp(); cout << "the pt of this muon is " << pt << endl; } Q: What RecHits are used in the track? A: In the muon barrel, the tracks fit to track segments. In the endcaps, the tracks fit to the individual 2D points, which are selected using track segments. More on all that later.

Other Options Q: What muon Reconstructors are there? A: MuonReconstructor: -- standalone, find its own seeds L2MuonReconstructor: -- standalone, starts from L1 seed L3MuonReconstructor: -- with inner tracker hits, starts from L2 track Q: Are these tracks vertex constrained? A: No. To add a vertex constraint to the track, you must do a Kalman Filter update of the track by hand, adding the vertex point. // define beam spot with error // sigma(x) = sigma(z) = 0.1 mm // sigma(z) = 5.3 cm GlobalPoint p(0.0,0.0,0.0); GlobalError e(0.0001, 0., 0.0001, 0., 0., 28.09); TrajectoryStateOnSurface traj = muonitr->innermoststate(); MuonUpdatorAtVertex updator(p,e); MuonVertexMeasurement vm = updator.update(traj); TrajectoryStateOnSurface traj_trak = vm.stateattracker();

First Exercise The first exercise in the hands-on session will be to create a job which loops over muons and prints them out. Check out the MuonAnalysis package, go to MuonTutorial/test, and modify, build, and run MuonTracks If you get brave, feel free to play around by: extracting information from the RecTrack extracting the RecHits and looking at them looking at the TrajectoryStateOnSurface at various points If you want to try the L2MuonReconstructor or the L3MuonReconstructor, you ll need to uncomment-out some packages in the BuildFile I provided. Try it! A solution is provided in MuonTracksSolution.cpp

Muon Subdetectors For precise position measurements: Drift Tubes (DT) barrel Cathode Strip Chambers (CSC) endcaps For precise time measurement: Resistive Plate Chambers (RPC) barrel and endcap Primarily for triggering

Drift Tubes (DT) - Barrel

Cathode Strip Chamber (CSC) - Endcaps

Resistive Plate Chambers (RPC)

Signal SimHits from CMSIM Pileup SimHits from CMSIM Digitization Ionization Drift, Avalanche Electronics Clustering (CSC, RPC) L1 Trigger Segment Building (CSC, DT) L2 Trigger standalone muon L3 Trigger L3 Trigger with tracker

CmsMuonEndcap CSC Geometry Groups chambers into tracking DetLayers MuEndcapSystem MuEndcap (2) MuEndStation (4) MuEndRing (4 in ME1, 2 in other stations) MuEndChamber (18 or 36) Stores MuEndSegments MuEndLayer (6 per chamber) Stores SimHits Stores MuEndWireDigis Stores MuEndStripDigis Stores RecHits (clusters) MuEndChamberSpecs: Information common to a type of chamber (gas gains, shape, wire grouping...) MuEndLayerGeometry: Handles the math of tilted gangs of wires crossing trapezoidal strips

DT and RPC Geometry (note the different design philosophies) CMSMuonBarrel MuBarChamber Stores SimHits, Stores Digis Stores RecHits (segments) MuBarSL 2 superlayers measure φ one measures r MuBarLayer 4 layers in a superlayer RecHits to be added here MuBarWire CMSMuonRPC Groups into tracking layers MRpcDetector MRpcGlobalReader stores all digis MRpcChamber MRpcDetUnit 1, or sometimes 3 per chamber Stores SimHits, Can fetch Digis Stores RecHits (clusters)

DetUnits DetUnit is the detector class where the data is stored Det DetUnit MRpcDetUnit MuBarChamber MuEndLayer MuEndChamber LocalPoint tolocal(const GlobalPoint &); GlobalPoint toglobal(const LocalPoint &); SimDet * simdet(); // can be used to get SimHits DetUnit::RecHitContainer rechits();

Accessing Data: CSC MuEndcapSetUp * setup = Singleton<MuEndcapSetUp>::instance(); MuEndcapSystem * endcapsystem = setup->mendcap(); MuEndLayerIterator layeritr(endcapsystem); MuEndLayer * layer; while(layer = layeritr.next()) { vector<rechit> rechits = layer->rechits(); vector<muendwiredigi> wiredigis = layer->getwiredigis(); }

Accessing Data: DT MuBarrelSetup * setup = Singleton<MuBarrelSetup>::instance(); CMSMuonBarrel * mb = setup->mbarrel(); for( int ilayer = 0; ilayer < 4; ++ilayer) { DetLayer * layer = mb->barrellayers()[ilayer]; for(int ichamber = 0; ichamber < layer->detunits().size(); ++ichamber) { DetUnit * chamber = layer->detunits()[ichamber]; SimDet * simdet = chamber->simdet(); if(simdet!= 0) { SimDet::SimHitContainer simhits = simdet->simhits(); } DetUnit::RecHitContainer rechits = station->rechits(); } } }

Accessing Data: RPC MRpcDetector * mrpc = Singleton<MRpcSetUp>::instance()->getDetector(); vector<mrpcdigi> mrdigis = mrpc->givedigis(); vector<detunit*> dets = Singleton<MRpcMap>::instance()->getDetUnits(); vector<detunit*>::iterator it; for (it = dets.begin(); it!= dets.end(); it++) { } SimDet * simdet = (*it)->simdet(); if(simdet!= 0) { } SimDet::SimHitContainer simhits = (*it)->simdet()->simhits();

Second Exercise The goal of the second exercise will be to write routines which print out: The positions of all DT segments, in global coordinates The first CSC strip digi in each layer The positions of all RPC SimHits, in global coordinates Modify and build the HitsDigisRecHits program in MuonAnalysis/MuonTutorial/test.

Technical Overview of the L1 Muon Trigger Software MuEndWireDigi MuEndStripDigi MuBarDigi MRpcDigi L1MuCSCTrigger L1MuDTTrig L1MuRpcTrigger L1MuCSCTrackStub L1MuDTTrackSegPhi L1MuDTTrackSegEta L1CSCTrackFinder L1MuDTTrackFinder L1CSCTrack L1MuDTTrack L1GlobalMuonTrigger L1MuGMTCand L1GlobalTrigger

Hand-waving Overview of the L1 Muon Trigger Software CSC Digis (Strip + Wire) DT Digis RPC Digis Local Trigger (LCT) Local Trigger (BTI, TRACO) RPC Trigger CSC Regional Trigger DT Regional Trigger L1 Global Muon Trigger

CommonDet Tracker TkDigiReader CommonReco TrackerReco TkTracks TrackAnalysis Muon MuonB, MuonE MuonRpc MuonTrackFinder Trigger L1GlobalMuon Calorimetry MuonReco MuonReconstruction MuonIsolation MuonAnalyis

Muon Isolation Has algorithms for Calo, Pixel, and Tracker Has cuts hardcoded for given nominal efficiencies. MuonIsolation * isolation = new MuonIsolation(); MuIsoCaloExtractor * ce = new MuIsoCaloExtractor(); MuIsoCaloIsolator * ci = new MuIsoCaloIsolator(); ci->setnominalefficiency(0.97); isolation->setstrategy( CALO, ce, ci); //. Later, in event loop over muons if(isolation->isisolated(muon, CALO )) {

Analysis For the old-fashioned standard ntuple-maker, look in MuonReco/MuonReconstruction/test/MuonReconstructionNtuple.cc Great source of example code! TAGs can be created in the database, using COBRA TAGs can be used for: Fast event selection Plotting directly in Lizard Making PAW ntuples Making ROOT trees

Speed things up Future Software Plans Most of the time spent propagating through iron Refactor code Separate clustering & segment-building from detector & digitization Code review? Unify interfaces between the three subdetectors Thermal neutron background biggest problem is in the endcaps GEANT 4, DDD Continue to develop and refine geometry, digitization, and reconstruction.