TGC Group Ntuple for Run2


Status

It is possible to produce a ntuple, which contains TGC information, by the following procedure.
We have been migrated from CMT to CMAKE.

1. Setting up Athena

$ export ATLAS_LOCAL_ROOT_BASE=/cvmfs/atlas.cern.ch/repo/ATLASLocalRootBase
$ alias setupATLAS='source ${ATLAS_LOCAL_ROOT_BASE}/user/atlasLocalSetup.sh'
$ setupATLAS 
$ mkdir build source run
$ asetup Athena,21.0.69 --testarea=$PWD/source

tip.gif Please start with a clean session. It is preferable to use the same Athena release used in the ESD production.

2. Checkout packages and compile

$ lsetup git
$ git clone ssh://git@gitlab.cern.ch:7999/atlas-l1muon/endcap/L1TGCNtuple.git source/L1TGCNtuple
( $ https://:@gitlab.cern.ch:8443/atlas-l1muon/endcap/L1TGCNtuple.git source/L1TGCNtuple )
$ source  source/L1TGCNtuple/run/compile.sh

tip.gif Please check out the latest release of the L1TGCNtuple.

3.1. Run at local machine

$ cp source/L1TGCNtuple/share/runL1TGCNtuple.py run/
$ cd run/

edit runL1TGCNtuple.py (also share/L1TGCNtuple_options.py if needed)

$ athena.py runL1TGCNtuple.py

tip.gif Please edit events, inputs and output in the runL1TGCNtuple.py.

3.2. Run on Grid

$ cp source/L1TGCNtuple/share/runL1TGCNtuple.py run/
$ cp source/L1TGCNtuple/share/submit.py run/
$ cd run/

edit submit.py

$ localSetupPandaClient
$ python submit.py

tip.gif Please edit user, version, athena and ESDs in submit.py. If your are working on local cluster (i.e. not lxplus), a local dummy file is required to configure the job. Please edit inputs in runL1TGCNtuple.py.

Known issues

  • Nothing so far.

Sample availability

The L1TGCNtuples are saved to the DET-MUON disks on the grid (if Tomoe produced). See the link below for sample availability.

Tags

  • L1TGCNtuple -00-00-08: First version of group production.
  • L1TGCNtuple -00-00-09: Fixed truth initialization, added vertex.
  • L1TGCNtuple -00-00-10: Modified so that only muon triggered events are dumped since physics_Main stream contains jet triggers.
  • L1TGCNtuple -00-00-11: Added actualIntPerXing and averageIntPerXing.
  • L1TGCNtuple -00-00-12: Added inner words.
  • L1TGCNtuple -00-00-13: Added TMDB information.
  • L1TGCNtuple -00-00-14: Fixed TileHWIDs.
  • L1TGCNtuple -00-00-15: Added TMDB digits.
  • L1TGCNtuple -00-00-16: Modified so that DESDM_ZMUMU and DESDM_MCP can be used as inputs.
  • L1TGCNtuple -00-00-17: Applied skimming see here.
  • L1TGCNtuple -00-00-18: Added TILE_murcv_raw_count.
  • L1TGCNtuple -00-00-19: Updated TMDB constants.
  • L1TGCNtuple -00-00-20: Added mu_isPassedMCP and mu_quality.
  • L1TGCNtuple -00-00-21: Added TILE_cell_xxx.
  • L1TGCNtuple -00-00-22: Modified so that DESDM_TILEMU can be used as inputs.
  • L1TGCNtuple -00-00-23: First version for 2016 production. Added RPC prd. No skimming.
  • L1TGCNtuple -00-00-24: Enabled event skimming as default
  • L1TGCNtuple -00-00-25: Updated TMDB constants TMDB_ADC_to_MeV_20160512.txt, added a protection into L1TGCNtuple _ext.cxx.
  • L1TGCNtuple -00-00-26: Updated TMDB constants TMDB_ADC_to_MeV_20160523.txt
  • L1TGCNtuple -00-00-27: Added a protection into L1TGCNtuple _muon.cxx.
  • L1TGCNtuple -00-00-28: Added a further protection into L1TGCNtuple _muon.cxx for DESDM_TILEMU
  • L1TGCNtuple -00-00-29: Updated TMDB constants TMDB_ADC_to_MeV_20160704.txt
  • L1TGCNtuple -00-00-30: (Virtual tag) Fixed TMDB constants
  • L1TGCNtuple -00-00-31: Updated contents: dropping MDT prd if status = 1, dropping Et in TileCell, then added ene1 (for PMT1) instead.
  • L1TGCNtuple -00-00-32: Updated grid/submit*.py to fix a grid problem reported in ATEAM-342
  • L1TGCNtuple -00-01-00: First version for 2017 production. CMAKE required.
  • L1TGCNtuple -00-01-01: Updated TMDB constants TMDB_ADC_to_MeV_20170904.txt
  • L1TGCNtuple -00-01-02: Updated TMDB constants TMDB_ADC_to_MeV_20171127.txt

Contents

Event information  
RunNumber the current event's run number
EventNumber the current event's event number
timeStamp POSIX time in seconds from 1970. January 1st
timeStampNSOffset Nanosecond time offset wrt. the time stamp
lbn the current event's luminosity block number
bcid the bunch crossing ID of the event
detmaskX Bit field indicating which TTC zones are present in the event
actualIntPerXing Average interactions per crossing for the current BCID - for in-time
averageIntPerXing Average interactions per crossing for all BCIDs - for out-of-time
XXXFlags the event flags for a particular sub-detector
XXXError the error state for a particular sub-detector
Primary vertex  
vxp_x global x position of the vertex
vxp_y global y position of the vertex
vxp_z global z position of the vertex
vxp_cov_x (x, x) of the vertex covariance matrix
vxp_cov_y (y, y) of the vertex covariance matrix
vxp_cov_z (z, z) of the vertex covariance matrix
vxp_cov_xy (x, y) of the vertex covariance matrix
vxp_cov_xz (x, z) of the vertex covariance matrix
vxp_cov_yz (y, z) of the vertex covariance matrix
vxp_chi2 the chi^2 of the vertex fit
vxp_ndof the number of degrees of freedom of the vertex fit
vxp_nTracks the number of tracks associated with this vertex
vxp_type 0=Dummy vertex 1=Primary vertex 2=Secondary vertex 3=Pile-up vertex 4=Conversion vertex 5=Vertex from V0 decay 6=Kink vertex -99=Default value
TgcPrepData  
TGC_prd_x global x position of the hit
TGC_prd_y global y position of the hit
TGC_prd_z global z position of the hit
TGC_prd_shortWidth center side length of Phi direction of the strip pad or wire ganging
TGC_prd_longWidth opposite side of shortWidth
TGC_prd_length length of R direction of the strip pad or wire ganging
TGC_prd_isStrip 1 = Strip, 0 = Wire
TGC_prd_gasGap layer identifier (1 to 3)
TGC_prd_channel channel number
TGC_prd_eta chamber identifier (1 to 5 (plus = Aside, minus = Cside))
TGC_prd_phi trigger sector identifier (1 to 48)
TGC_prd_station station
TGC_prd_bunch 1 = previous, 2 = current, 3 = next
MdtPrepData (Only hits in endcap are stored to reduce the size)  
MDT_prd_x global x position of the hit
MDT_prd_y global x position of the hit
MDT_prd_z global x position of the hit
MDT_prd_adc ADC (typically range is 0 to 250)
MDT_prd_tdc TDC (typically range is 0 to 2500)
MDT_prd_status status of the measurement
MDT_prd_drift_radius drift radius
MDT_prd_drift_radius_error error on drift radius
RpcPrepData  
RPC_prd_x global x position of the hit
RPC_prd_y global y position of the hit
RPC_prd_z global z position of the hit
RPC_prd_time Float since PRD produced from RDO, and RDO should contain the time calculated from the bcid and the RPC clock ticks. (as bcid*25+ticks*3.125).
RPC_prd_triggerInfo usually false, unless ijk>5 or highpt&&ijk==0
RPC_prd_ambiguityFlag 0 if the ambiguites have not been removed by choice, 1 if the ambiguities are fully solved, i+1 if "i" other preprawdata are produced along with the current one from a single RDO hit
RPC_prd_measuresPhi 0 if measures Z, 1 if measures phi
RPC_prd_inRibs returns whether the RE is in the ribs of the muon spectrometer
RPC_prd_station unsigned integer maps to "BIL","BMS",etc.
RPC_prd_stationEta [-8,8] increases with Z
RPC_prd_stationPhi [1,8] increases with phi
RPC_prd_doubletR [1,2] increases with R
RPC_prd_doubletZ [1,3] increases with Z
RPC_prd_stripWidth
RPC_prd_stripLength
RPC_prd_gasGap [1,2] increases with R
RPC_prd_channel
TgcCoinData  
TGC_coin_x_In global x position of the track
TGC_coin_y_In global y position of the track
TGC_coin_z_In global z position of the track
TGC_coin_x_Out
TGC_coin_y_Out
TGC_coin_z_Out
TGC_coin_width_In region width of hit on TGC1
TGC_coin_width_Out region width of hit on TGC2(track let) or TGC3(hipt)
TGC_coin_width_R R length of the Roi
TGC_coin_width_Phi Phi length of the Roi
TGC_coin_isAside 1 = Aside, 0 = Cside
TGC_coin_isForward 1 = Forward, 0 = Endcap
TGC_coin_isStrip (1 = Strip, 0 = Wire for lpt,hipt,sl and EIFI tracklet coincidence) or (1 = Tile, 0 = EIFI for inner coincidence)
TGC_coin_isInner 1 = Inner coincidence (i.e. EIFI or Tile), 0 = otherwise
TGC_coin_isPositiveDeltaR 1 = plus, 0 = minus
TGC_coin_type the coincidence type (0 = lpt, 1 = hipt or inner, 2 = sl, 4 = EIFI tracklet)
TGC_coin_trackletId identifier of coincidence hierarchy (for Wire) (coincidences (tracklet, highpt, sl) have same trackletID belong to a certain trigger)
TGC_coin_trackletIdStrip identifier of coincidence hierarchy (for Strip) (coincidences (tracklet, highpt, sl) have same trackletID belong to a certain trigger)
TGC_coin_phi trigger sector identifier(1 to 48)
TGC_coin_roi triggered Roi number (Endcap : 0 to 147, Forward : 0 to 63)
TGC_coin_pt pt threshold value of the trigger
TGC_coin_delta sagitta of the tracklet coincidence
TGC_coin_sub subMatrix of track let or hsub of hipt
TGC_coin_bunch 1 = previous, 2 = current, 3 = next
TGC_coin_inner inner bits, EIFI: 000_FI2_EI2_FI1_EI1_FI0_EI0, Tile: 0_TM3D6_TM3D5+6_TM2D6_TM2 D5+6_TM1D6_TM1D5+6_TM0D6_TM0D5+6
TgcCoinHierarchy
TGC_hierarchy_index index of trig_L1_mu_xxx
TGC_hierarchy_dR_hiPt R length from Infinite Momentum Line on TGC1
TGC_hierarchy_dPhi_hiPt Phi length from Infinite Momentum Line on TGC1
TGC_hierarchy_dR_tracklet R length from Infinite Momentum Line on TGC2 and TGC3
TGC_hierarchy_dPhi_tracklet R length from Infinite Momentum Line on TGC2 and TGC3
TGC_hierarchy_isChamberBoundary flag ofr Endcap chamber boundary
Tile TMDB
TILE_murcv_trig_mod 0 to 63 module number by phi
TILE_murcv_trig_part 3 = Aside, 4 = Cside
TILE_murcv_trig_bit0 trigger decision of D5+D6 High
TILE_murcv_trig_bit1 trigger decision of D5+D6 Low
TILE_murcv_trig_bit2 trigger decision of D6 High
TILE_murcv_trig_bit3 trigger decision of D6 Low
TILE_murcv_raw_count Raw count of optimal filter
TILE_murcv_raw_energy Estimated energy in MeV
TILE_murcv_raw_ros 3 = Aside, 4 = Cside
TILE_murcv_raw_drawer 0 to 63 module number by phi
TILE_murcv_raw_channel data: 0=D5L, 1=D5R, 2=D6L , 3=D6R
TILE_murcv_digit_nSamples number of time samples
TILE_murcv_digit_ros 3 = Aside, 4 = Cside
TILE_murcv_digit_drawer 0 to 63 module number by phi
TILE_murcv_digit_channel data: 0=D5L, 1=D5R, 2=D6L , 3=D6R
TILE_murcv_digit_sampleVec sample values
Tile Cell
TILE_cell_E energy of the cell
TILE_cell_Et et of the cell
TILE_cell_eta eta of the cell
TILE_cell_phi phi of the cell
TILE_cell_sinTh sin(theta)
TILE_cell_cosTh cos(theta)
TILE_cell_cotTh cot(theta)
TILE_cell_x x of the cell
TILE_cell_y y of the cell
TILE_cell_z z of the cell
TILE_cell_badcell check is cell is dead
TILE_cell_partition 1: LBA ( Long Barrel A-side ), 2: LBC, 3: EBA ( Extended Barrel A-side ), 4: EBC
TILE_cell_section 1 = Barrel, 2 = Extended Barrel, 3 = Gap Detector i.e. gap scin E1-E4 and ITC cells D4, C10, 4 = Ancillary detectors
TILE_cell_side -1 = negative eta, 1 = positive eta, 0 = undefined (both sides)
TILE_cell_module 0 to 63 module number by phi
TILE_cell_tower 0-15 = tower number by pseudorapidity with 0.1 increment in eta
TILE_cell_sample 0 to 15 0 = A, 1 = B = BC = C, 2 = D, 3 = special gap scin cells E1-E4, 4-15 = individual tiles, used in Cesium calibration data
Muon RoI
trig_L1_mu_eta pseudorapidity of the RoI
trig_L1_mu_phi azimuthal angle of the RoI
trig_L1_mu_thrName name of the threshold passed by the muon candidate
trig_L1_mu_thrNumber logic number of the highest threshold this RoI passed (1 to 6)
trig_L1_mu_RoINumber RoI number (Endcap : 0 to 147, Forward : 0 to 63)
trig_L1_mu_sectorAddress sectorAddress
trig_L1_mu_firstCandidate 1 = if the candidate had the highest pT in the sector, 0 = otherwise
trig_L1_mu_moreCandInRoI 1 = if there were other muons detected in the same RoI, 0 = otherwise
trig_L1_mu_moreCandInSector 1 = if there were other muons detected in the same sector, 0 = oherwise
trig_L1_mu_source 0 = RPC, 1 = ENDCAP, 2 = FORWARD
trig_L1_mu_hemisphere 1 = Aside, 0 = Cside
trig_L1_mu_charge 0 = candidate is mu- from TGC, 1 = candidate is mu+ from TGC, 2 = RPC
trig_L1_mu_vetoed veto flag for the candidate
Muon CTPI
muctpi_candidateMultiplicities Cand. multi. sent to the CTP
muctpi_nDataWords Number of muon candidates in readout window
muctpi_dataWords The 32-bit dataWords of the muon candidates
muctpi_dw_eta Eta position of the muon candidate
muctpi_dw_phi Phi position of the muon candidate
muctpi_dw_source 0 = RPC, 1 = ENDCAP, 2 = FORWARD
muctpi_dw_hemisphere 1 = Aside, 0 = Cside
muctpi_dw_bcid BCID in which the candidate was received
muctpi_dw_sectorID SectorID of the muon candidate
muctpi_dw_thrNumber Threshold number of the muon candidate
muctpi_dw_roi RoI number (Endcap : 0 to 147, Forward : 0 to 63)
muctpi_dw_veto Endcap: Veto flags of the muon candidate, Barrel: Overlap flags of the muon candidate
muctpi_dw_firstCandidate 1 = Candidate had highest pT in sector, 0 = otherwise
muctpi_dw_moreCandInRoI 1 = More candidates were in the RoI, 0 = otherwise
muctpi_dw_moreCandInSector 1 = More than 2 candidates in the sector, 0 = otherwise
muctpi_dw_charge Candidate sign (0=negative,1=positive,100=undefined)
muctpi_dw_candidateVetoed Candidate vetoed in multiplicity sum
HLT information
trigger_info_chain trigger chain name
trigger_info_isPassed 1 if the chain passed, 0 otherwise
trigger_info_typeVec type of the HLT track: enum {Combined, MuonStandAlone, SegmentTagged, CaloTagged, SiliconAssociatedForwardMuon }
trigger_info_ptVec pt of the HLT track object
trigger_info_etaVec eta of the HLT track object
trigger_info_phiVec phi of the HLT track object
Offline muon
mu_pt pT of the muon
mu_eta eta of the muon
mu_phi phi of the muon
mu_m mass of the muon
mu_charge charge of the muon
mu_author primary author, enum {unknown=0, MuidCo,STACO, MuTag, MuTagIMO,MuidSA,MuGirl,MuGirlLowBeta,CaloTag,CaloLikelihood,ExtrapolateMuonToIP,NumberOfMuonAuthors}
mu_allAuthor 16-bit word, 1-bit reserved for each muon Algorithm
mu_muonType enum {Combined, MuonStandAlone, SegmentTagged, CaloTagged, SiliconAssociatedForwardMuon }
mu_etconexx energy sum in a corresponding cone
mu_ptconexx momentum sum in a corresponding cone
mu_isPassedMCP (obsolete!) 1 if passed MCP selection, 0 otherwise. The value is calculated by MuonSelectorTool. Not working (2017/08/15 Tomoe).
mu_quality (obsolete!) enum {Tight, Medium, Loose, VeryLoose }.The value is calculated by MuonSelectorTool. Not working (2017/08/15 Tomoe).
mu_trackfitchi2 chi^2 of the overall track fit
mu_trackfitndof number of degrees of freedom of the overall track
mu_msInnerMatchChi2 chi^2 for the match of Inner detector (ID) and standalone (SA) tracks at the entrance to the spectrometer (MS)
mu_msInnerMatchDOF 'degrees of freedom' (DOF) for the match of Inner detector (ID) and standalone (SA) tracks at the entrance to the spectrometer (MS)
mu_msOuterMatchChi2 chi^2 for the match of Inner detector (ID) and standalone (SA) tracks at the exit of the spectrometer (MS)
mu_msOuterMatchDOF 'degrees of freedom' (DOF) for the match of Inner detector (ID) and standalone (SA) tracks at the exit of the spectrometer (MS)
mu_nOutliersOnTrack number of measurements flaged as outliers in TSOS
mu_nBLHits these are the hits in the first pixel layer, i.e. b-layer
mu_expectBLayerHit Do we expect a b-layer hit for this track?
mu_nPixHits these are the pixel hits, including the b-layer
mu_nSCTHits number of hits in SCT
mu_nTRTHits number of TRT hits
mu_nTRTHighTHits number of TRT hits which pass the high threshold (only xenon counted)
mu_nBLSharedHits number of Pixel b-layer hits shared by several tracks
mu_nPixSharedHits number of Pixel all-layer hits shared by several tracks
mu_nPixHoles number of pixel layers on track with absence of hits
mu_nSCTSharedHits number of SCT hits shared by several tracks
mu_nSCTHoles number of SCT holes
mu_nTRTOutliers number of TRT outliers
mu_nTRTHighTOutliers number of TRT high threshold outliers (only xenon counted)
mu_nGangedPixels number of pixels which have a ganged ambiguity
mu_nPixelDeadSensors number of dead pixel sensors crossed
mu_nSCTDeadSensors number of dead SCT sensors crossed
mu_nTRTDeadStraws number of dead TRT straws crossed
mu_nPrecisionLayers layers with at least 3 hits
mu_nPrecisionHoleLayers layers with holes AND no hits
mu_nPhiLayers layers with a trigger phi hit
mu_nPhiHoleLayers layers with trigger phi holes but no hits
mu_nTrigEtaLayers layers with trigger eta hits
mu_nTrigEtaHoleLayers layers with trigger eta holes but no hits
mu_primarySector primary sector crossed by the muon
mu_secondarySector secondary sector crossed by the muon (set to the primary if the muon only passed one sector)
mu_nInnerSmallHits number of precision hits in the inner small layer
mu_nInnerLargeHits number of precision hits in the inner large layer
mu_nMiddleSmallHits number of precision hits in the middle small layer
mu_nMiddleLargeHits number of precision hits in the middle large layer
mu_nOuterSmallHits number of precision hits in the outer small layer
mu_nOuterLargeHits number of precision hits in the outer large layer
mu_nExtendedSmallHits number of precision hits in the extended small layer
mu_nExtendedLargeHits number of precision hits in the extended large layer
mu_nInnerSmallHoles number of precision holes in the inner small layer
mu_nInnerLargeHoles number of precision holes in the inner large layer
mu_nMiddleSmallHoles number of precision holes in the middle small layer
mu_nMiddleLargeHoles number of precision holes in the middle large layer
mu_nOuterSmallHoles number of precision holes in the outer small layer
mu_nOuterLargeHoles number of precision holes in the outer large layer
mu_nExtendedSmallHoles number of precision holes in the extended small layer
mu_nExtendedLargeHoles number of precision holes in the extended large layer
mu_nPhiLayer1Hits number of phi hits in the first trigger layer (BML1 and T4)
mu_nPhiLayer2Hits number of phi hits in the second trigger layer (BML2 and T1)
mu_nPhiLayer3Hits number of phi hits in the third trigger layer (BOL1 and T2)
mu_nPhiLayer4Hits number of phi hits in the fourth trigger layer (T3)
mu_nEtaLayer1Hits number of eta hits in the first trigger layer (BML1 and T4)
mu_nEtaLayer2Hits number of eta hits in the second trigger layer (BML2 and T1)
mu_nEtaLayer3Hits number of eta hits in the third trigger layer (BOL1 and T2)
mu_nEtaLayer4Hits number of eta hits in the fourth trigger layer (T3)
mu_nPhiLayer1Holes number of phi holes in the first trigger layer (BML1 and T4)
mu_nPhiLayer2Holes number of phi holes in the second trigger layer (BML2 and T1)
mu_nPhiLayer3Holes number of phi holes in the third trigger layer (BOL1 and T2)
mu_nPhiLayer4Holes number of phi holes in the fourth trigger layer (T3)
mu_nEtaLayer1Holes number of eta holes in the first trigger layer (BML1 and T4)
mu_nEtaLayer2Holes number of eta holes in the second trigger layer (BML2 and T1)
mu_nEtaLayer3Holes number of eta holes in the third trigger layer (BOL1 and T2)
mu_nEtaLayer4Holes number of eta holes in the fourth trigger layer (T3)
Muon segment
museg_x x of global position
museg_y y of global position
museg_z z of global position
museg_px px of global direction
museg_py py of global direction
museg_pz pz of global direction
museg_t0 fitted time
museg_t0error error on fitted time
museg_chi2 chi squared of the overall track fit
museg_ndof numberDoF
museg_sector sector number
museg_stationName enum {ChUnknown = -1,BIS, BIL, BMS, BML, BOS, BOL, BEE,EIS, EIL, EMS, EML, EOS, EOL, EES, EEL, CSS, CSL,ChIndexMax}
museg_stationEta eta index, which corresponds to stationEta in the offline identifiers
museg_author enum enum Author { AuthorUnknown = 0, MooMdtSegmentMakerTool = 1, MooCscSegmentMakerTool = 2, Muonboy = 3, DCMathSegmentMaker = 4, MDT_DHoughSegmentMakerTool = 5,CSC_DHoughSegmentMakerTool = 6,Csc2dSegmentMaker = 7,Csc4dSegmentMaker = 8,TRT_SegmentMaker = 9,CTBTracking = 10,DCMathSegmentMakerCurved = 11,NumberOfAuthors = 12}
Exrapolation extrapolate muon tracks to abs(z)=13605.0, 14860.0, 15280.0, 7425.0, 7030.0
ext_mu_ubias_xxx extrapolate muon tracks from IP
ext_mu_bias_xxx extrapolate muon tracks from the nearest MDT station
   
ext_mu_xxx_type muon track type 0:udef 1:combined 2:inner_extrapolate 3:indet
ext_mu_xxx_index index of muon tracks
ext_mu_xxx_size number of extrapolation points for each muon
ext_mu_xxx_targetVec target detector 0:udef 1:TGC 2:RPC
ext_mu_xxx_targetDistanceVec target distance in R [for RPC] or Z [for TGC]
ext_mu_xxx_targetEtaVec Eta in target detector surface
ext_mu_xxx_targetPhiVec Phi in target detector surface
ext_mu_xxx_targetDeltaEtaVec dEta in target detector surface
ext_mu_xxx_targetDeltaPhiVec dPhi in target detector surface
ext_mu_xxx_targetPxVec px in target detector surface
ext_mu_xxx_targetPyVec py in target detector surface
ext_mu_xxx_targetPzVec pz in target detector surface
Truth information
mc_pt
mc_eta
mc_phi
mc_m
mc_charge
mc_pdgId
mc_barcode
mc_status
mc_prodVtx_x
mc_prodVtx_y
mc_prodVtx_z

station

  M1 M2 M3     SW
Fw 41 43 45   FI 47
Ec 42 44 46   EI 48

eta

  1 2 3 4 5
M1 T1/T3 T6 T7 T8 none
M2 T2/T4 T6 T7 T8 T9
M3 T2/T5 T6 T7 T8 T9
EIFI FI/EIL4 none none none none

phi

  A01/C01 A02/C02 A03/C03 A04/C04 A05/C05 A06/C06 A07/C07 A08/C08 A09/C09 A10/C10 A11/C11 A12/C12 A01/C01
Fw 1 2,3 4, 5 6,7 8,9 10,11 12, 13 14,15 16,17 18,19 20,21 22,23 24
Ec 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

gasgap

  1 2 3
M1 layer1 layer2 layer3
M2 layer4 layer5
M3 layer6 layer7
EIFI layer8 layer9

channel

M1 Froward( T1 )   E4( T3 ) E3( T6 ) E2( T7 ) E1( T8 )
layer1 wire 1-105 none 1-92 1-61 1-23 1-24
layer1 strip 1-32 none 1-32 1-32 1-32 1-32
layer2 wire 1-104 none 1-91 1-62 1-23 1-24
layer3 wire 1-105 none 1-91 1-62 1-23 1-24
layer3 strip 1-32 none 1-32 1-32 1-32 1-32
M2 Froward( T2 ) E5( T4 ) E4( T6 ) E3( T7 ) E2( T8 ) E1( T9 )
wire 1-125 1-110 1-103 1-32 1-32 1-32
strip 1-32 1-32 1-32 1-32 1-32 1-32
M3 Froward( T2 ) E5( T5 ) E4( T6 ) E3( T7 ) E2( T8 ) E1( T9 )
wire 1-122 1-96 1-106 1-32 1-30 1-31
strip 1-32 1-32 1-32 1-32 1-32 1-32

EIFI FI EI
wier 1-32 1-24, 1-16
strip 1-32 1-32

sectorAddress (8 bit information)

*BARREL : 00[5-bit sector ID]H
*FORWARD : 01[5-bit sector ID]H
*ENDCAP : 1[ 6-bit sector ID]H
H : Hemisphere selector (pos/neg rapidity region)
e.g. SectorAddress 157 = 0x9D = 1 001110 1
-Endcap sector=14 SideA
-Endcap A04 phi2

Skimming

Skimming is performed on the DESDM productions. Please be careful abut bias on analyses.

Tips

How to add extrapolating points for muons.

How to perform skimming.

  • Edit share/L1TGCNtuple_options.py, for example, the following setting dumps the events, which fire the muon HLT and contain two combined muons with pT > 20 GeV.:
    • skim.DumpAll = False
    • skim.TrigPattern = 'HLT_mu.*
    • skim.Muons_n = 2
    • skim.Muons_type = 0
    • skim.Muons_pt = 20000
  • Number of processed and dumped events are saved to counter/hNEvents histogram in the ntuple.

How to use external packages.

Misc.

Analyses in RooTCore

  • If you want to use the common tools prepared by the ATLAS (i.e. GoodRunLists) in ROOT analyses, you need to develop analysis macros in RooTCore framework.
  • Sample macros for L1TGCNtuple analyses are available:
    • $ setupATLAS
    • $ rcSetup Base,64,slc6 2.3.13
    • $ svn co svn+ssh://svn.cern.ch/reps/atlas-tgcsw/L1TGCAnalysis/trunk L1TGCAnalysis
    • $ rc find_packages
    • $ rc compile
  • Run:
  • You will find histograms of muon RoI distributions.

FAX

  • You can access the ntuples on the DET-MUON disks without local downloads!
    • $ localSetupFAX
    • $ fax-get-gLFNs group.det-muon:group.det-muon.XXX.XXX.L1TGCNtuple/
  • You will see global paths of the files. You can use these paths in your code, for example:
    • $ TFile *file = TFile::Open("root://lcgsexrda.jinr.ru:1094//atlas/rucio/group.det-muon:group.det-muon.7213916.L1TGCNtuple._000001.root");
TTreeCache is essential, otherwise the performance is very bad.

File deletion

  • $ RUCIO_ACCOUNT=det-muon # depends on your account
  • $ rucio list-rules --account det-muon | grep "L1TGCNtuple"
...snip...
87b21695d0a94f6e915f5aaa2bd16236 det-muon group.det-muon:group.xxx
458442dfcf8a4ead893a65bb1ddf7b85 det-muon group.det-muon:group.xxx
...snip...
  • $ rucio delete-rule 87b21695d0a94f6e915f5aaa2bd16236

Disk usage

SVN

  • Write-access permission is assigned by subscribing atlas-tgc-oncall.

ROOT

Single muon (tested with AtlasProduction 20.1.3.3)

  • Write a jobOption file (MC14.1.ParticleGun_single_mu.py) for the particle generation:
    1## Code from Junpei
    2include("GeneratorUtils/StdEvgenSetup.py")
    3import ParticleGun as PG
    4import random
    5evgenConfig.generators = ['ParticleGun']
    6evgenConfig.description = "Single muons with flat eta and phi"
    7evgenConfig.keywords = ["singleParticle", "muon"]
    8class MyParticleSampler(PG.ParticleSampler):
    9  def __init__(self):
   10    self.momA = PG.PtEtaMPhiSampler(pt=[0, 100000], eta=[-2.5, 0])
   11    self.momC = PG.PtEtaMPhiSampler(pt=[0, 100000], eta=[0.0, 2.5])
   12  def shoot(self):
   13    pid_decision = random.random()
   14    if pid_decision > 0.5:
   15      pid = 13
   16    else:
   17      pid = -13
   18    decision = random.random()
   19    if decision > 0.5:
   20      return [PG.SampledParticle(pid, self.momA.shoot())]
   21    else:
   22      return [PG.SampledParticle(pid, self.momC.shoot())]
   23genSeq += PG.ParticleGun()
   24genSeq.ParticleGun.sampler = MyParticleSampler()
  • Procedure to obtain ESD:
    • $ Generate_tf.py --ecmEnergy 13000 --firstEvent 1 --randomSeed 1 --jobConfig MC14.1.ParticleGun_single_mu.py --outputEVNTFile EVNT.pool.root --runNumber 1 --maxEvents 10
    • $ Sim_tf.py --inputEVNTFile EVNT.pool.root --outputHITSFile HITS.pool.root --maxEvents -1 --skipEvents 0 --DBRelease current --geometryVersion ATLAS-R2-2015-01-01-00_VALIDATION --conditionsTag OFLCOND-RUN12-SDR-21 --DataRunNumber 222222 --randomSeed 1 --physicsList FTFP_BERT --firstEvent 1 --useISF True --simulator MC12G4 --preInclude EVNTtoHITS:SimulationJobOptions/preInclude.BeamPipeKill.py SimulationJobOptions /preInclude.FrozenShowersFCalOnly.py --postInclude RecJobTransforms /UseFrontier.py
    • $ Digi_tf.py --inputHITSFile HITS/HITS.pool.root --outputRDOFile RDO.pool.root --maxEvents -1 --DBRelease current --geometryVersion ATLAS-R2-2015-02-01-00 --conditionsTag OFLCOND-RUN12-SDR-22 --digiSeedOffset1 1 --digiSeedOffset2 1 --postInclude RecJobTransforms /UseFrontier.py
    • $ Reco_tf.py --autoConfiguration everything --DBRelease current --inputRDOFile RDO.pool.root --outputESDFile ESD.pool.root --postInclude RecJobTransforms /UseFrontier.py

Google performance tool (tested with AtlasProduction 20.7.3.1)

  • $ cmt co Simulation/ISF/ISF_Profiling/ISF_ProfilingAlgorithms
  • $ cmt co Simulation/ISF/ISF_Profiling/ISF_ProfilingExample
  • Apply the following diff
    1===================================================================
    2--- cmt/requirements 
    3+++ cmt/requirements 
    4@@ -14,6 +14,8 @@
    5 # private use statements
    6 private
    7 use GaudiInterface                GaudiInterface-*        External
    8+use   AtlasGPerfTools   AtlasGPerfTools-*   External
    9+apply_tag use_gpt_profiler
   10 
   11 public
   12 library ISF_ProfilingAlgorithms *.cxx components/*.cxx
   13Index: src/GooglePerfAlg.cxx
   14===================================================================
   15--- src/GooglePerfAlg.cxx 
   16+++ src/GooglePerfAlg.cxx 
   17@@ -9,7 +9,8 @@
   18 #include "GaudiKernel/Property.h"
   19 
   20 // Google profiling tools
   21-#include "google/profiler.h"
   22+//#include "google/profiler.h"
   23+#include <gperftools/profiler.h>
   24
  • Compile
  • $ cd Simulation/ISF/ISF_Profiling/ISF_ProfilingExample/run
  • $ ./run_google_profiler.sh "athena.py ISF_ProfilingExample/GooglePerftools.py runL1TGCNtuple.py"
  • $ ./run_google_analyzer.sh
  • $ kcachegrind callgrind.out.ISF_GooglePerf
You will see that 'L1TGCNtuple_ext' is the dominant source of the CPU time.

L1TGCNtuple execute

Useful links

Topic attachments
I Attachment History Action Size Date Who Comment
PNGpng L1TGCNtuple_execute.png r1 manage 600.2 K 2016-01-07 - 11:00 TomoeKishimoto  
Unknown file formatroot M1.root r1 manage 72.1 K 2015-03-20 - 18:09 TomoeKishimoto  
Unknown file formatroot M2.root r1 manage 86.6 K 2015-03-20 - 18:09 TomoeKishimoto  
Unknown file formatroot M3.root r1 manage 87.3 K 2015-03-20 - 18:09 TomoeKishimoto  
PDFpdf canvas.pdf r1 manage 69.6 K 2015-03-20 - 18:09 TomoeKishimoto  
Edit | Attach | Watch | Print version | History: r68 < r67 < r66 < r65 < r64 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r68 - 2019-11-14 - JumpeiMaeda
 
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    Main All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright & 2008-2019 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback