atlaslogo

Steve's Notes

Wire Sag Validation (Release 15.6.9.13 - SLC5)


Athena | VP1 | DQ2 | Wire Sag | UM Cluster

Introduction

This is an informal summary of notes on installing and running the MDT wire sag validation software. The validation environment was set up by Niels van Eldik and the Rt correction function was developed by Dan Levin. I am only trying to put things in place. Please send comments and corrections to Steven.Goldfarb@cernNOSPAMPLEASE.ch.

Set Up the CMT Environment

Here we define and export variables for CMT. The correct version of CMT to use for any particular release is found on the Offline Release Status Page. Here, we use Release 15.6.9.13. The corresponding version of CMT is v1r21.

  1. Login to the appropriate machine (the "-Y" option passes the necessary X-Window information)
    CERN> ssh -Y myusername@lx64slc5.cern.ch *OR* ssh -Y myusername@atint01.cern.ch (can also use atint02 or atint03)
    UM> ssh -Y myusername@umt3int01.physics.lsa.umich.edu (can also use umt3int02 or umt3int03)
       
  2. Setup the cmt environment corresponding to the release (do whenever there is a new version of CMT)
    CERN> source /afs/cern.ch/sw/contrib/CMT/v1r21/mgr/setup.sh
    UMT3> source /atlas/data08/OSG/APP/atlas_app/atlas_rel/15.6.9/CMT/v1r21/mgr/setup.sh
       

Set Up the Athena Environment

This sets up the Athena working environment. More details at WorkBookSetAccount .

  1. Create a directory structure (do this once for the release)
    mkdir -p ~/TestArea/15.6.9.13/cmthome
    cd ~/TestArea/15.6.9.13/cmthome
       
  2. At CERN (on lx64slc5 or atint), create a file called requirements with the following content:
    #---------------------------------------------------------------------
    set CMTSITE STANDALONE
    set SITEROOT /afs/cern.ch/atlas/software/releases/15.6.9
    macro ATLAS_TEST_AREA ${HOME}/TestArea
    macro ATLAS_DIST_AREA ${SITEROOT}
    macro SITE_PROJECT_AREA ${SITEROOT}
    macro EXTERNAL_PROJECT_AREA ${SITEROOT}
    apply_tag projectArea
    apply_tag opt
    apply_tag setup
    apply_tag simpleTest
    apply_tag AtlasProduction
    apply_tag 15.6.9.13
    use AtlasLogin AtlasLogin-* $(ATLAS_DIST_AREA)
    set CMTCONFIG i686-slc5-gcc43-opt
    #---------------------------------------------------------------------
       
  3. On UMT3, create a file called requirements with the following content:
    #---------------------------------------------------------------------
    set CMTSITE STANDALONE
    set SITEROOT /atlas/data08/OSG/APP/atlas_app/atlas_rel/15.6.9
    macro ATLAS_TEST_AREA ${HOME}/TestArea
    macro ATLAS_DIST_AREA ${SITEROOT}
    macro SITE_PROJECT_AREA ${SITEROOT}
    macro EXTERNAL_PROJECT_AREA ${SITEROOT}
    apply_tag projectArea
    apply_tag opt
    apply_tag setup
    apply_tag simpleTest
    apply_tag AtlasProduction
    apply_tag 15.6.9.13
    use AtlasLogin AtlasLogin-* $(ATLAS_DIST_AREA)
    set CMTCONFIG i686-slc5-gcc43-opt
    #---------------------------------------------------------------------   
  4. Configure cmt (creates the scripts for setting up the environment):
    cmt config
       
  5. Setup the Athena environmental variables: (every time you login)
    source ~/TestArea/15.6.9.13/cmthome/setup.sh
       
  6. Check the CMT variables:
    echo $CMTCONFIG
    CERN> i686-slc5-gcc43-opt
    UMT3> i686-slc5-gcc43-opt
    echo $CMTPATH
    CERN> ~/TestArea/15.6.9.13:/afs/cern.ch/atlas/software/releases/15.6.9/AtlasProduction/15.6.9.13:(etc.)
    UMT3> ~/TestArea/15.6.9.13:/atlas/data08/OSG/APP/atlas_app/atlas_rel/15.6.9/AtlasTier0/15.6.9.13:(etc)
       

Check Out the MuonRecExample Package

We will run standalone muon reconstruction from within this package

  1. If not done already, set up the environmental variables.
    cd ~/TestArea/15.6.9.13
    source cmthome/setup.sh
       
  2. Find out which version of UserAnalysis is used (in this case MuonRecExample-01-10-08):
    cmt show versions MuonSpectrometer/MuonReconstruction/MuonRecExample
       
  3. On UMT3, get kerberos permission (using CERN afs password):
    UMT3> /usr/kerberos/bin/kinit myusername@CERN.CH
       
  4. Checkout, configure and build the package
    cmt co -r MuonRecExample-01-10-08 MuonSpectrometer/MuonReconstruction/MuonRecExample
    cd MuonSpectrometer/MuonReconstruction/MuonRecExample/cmt
    source setup.sh
    gmake
       

Test the MuonRecExample Package

See more detailed instructions at WorkBookReconstruction.

CURRENTLY FAILS DUE TO LACK OF INPUT FILE

  1. Set up Athena and UserAnalysis environments: (once per login)
    cd ~/TestArea/15.6.9.13
    source cmthome/setup.sh
    cd MuonSpectrometer/MuonReconstruction/MuonRecExample/run
    source ../cmt/setup.sh
       
  2. See what options you can run with:
    athena -h
       
  3. Try running MuonRec_myTopOptions (as is):
    get_files -jo MuonRecExample/MuonRec_myTopOptions.py
    athena MuonRecExample/MuonRec_myTopOptions.py > myTopOutput.txt &
    tail -f myTopOutput.txt
       
  4. Browse the n-tuple to see if something was produced:
    root CalibrationNtuple.root 
       

Check out the Validation Package for testing PRD

  1. If not done already, set up the environmental variables:
    cd ~/TestArea/15.6.9.13
    source cmthome/setup.sh
       
  2. Check out the appropriate package (MuonPRDTest-00-00-15 has Steve's fixes)
    cmt co -r MuonPRDTest-00-00-15 MuonSpectrometer/MuonValidation/MuonPRDTest
       
  3. Set up the environment
    cd MuonSpectrometer/MuonValidation/MuonPRDTest/cmt
    source setup.sh
    gmake
       

Check out the TrackDistortedSurfaces package (geometrical corrections)

  1. If not done already, set up the environmental variables:
    cd ~/TestArea/15.6.9.13
    source cmthome/setup.sh
       
  2. Check out the package (tag TrkDistortedSurfaces-00-01-02 has Steve's fixes)
    cmt co -r TrkDistortedSurfaces-00-01-02 Tracking/TrkDetDescr/TrkDistortedSurfaces
       
  3. Build it
    cd Tracking/TrkDetDescr/TrkDistortedSurfaces/cmt
    source setup.sh
    gmake
       

Check out the MuonCalibData package (Rt correction function)

  1. If not done already, set up the environmental variables:
    cd ~/TestArea/15.6.9.13
    source cmthome/setup.sh
       
  2. Check out the package (tag MdtCalibData-01-03-25 has Steve's implementation)
    cmt co -r MdtCalibData-01-03-25 MuonSpectrometer/MuonCalib/MdtCalib/MdtCalibData
       
  3. Build it
    cd MuonSpectrometer/MuonCalib/MdtCalib/MdtCalibData/cmt
    source setup.sh
    gmake
       

Check out the MuonCalibSvc package (call to Rt correction functions)

  1. If not done already, set up the environmental variables:
    cd ~/TestArea/15.6.9.13
    source cmthome/setup.sh
       
  2. Check out the package (tag MdtCalibSvc-02-02-12 has Steve's implementation)
    cmt co -r MdtCalibSvc-02-02-12 MuonSpectrometer/MuonCalib/MdtCalib/MdtCalibSvc
       
  3. Build it
    cd MuonSpectrometer/MuonCalib/MdtCalib/MdtCalibData/cmt
    source setup.sh
    gmake
       

Wire Sag Data Samples Generated by Rob Harrington

Using release 15.2.0, Rob Harrington generated data samples of non-interacting muons with and without a magnetic field in the barrel and endcap, sectors 1 and 5. The goal is to digitize these data samples with and without wire-sag to validate the effects. Samples in sector 1 should have no sag. Samples in sector 5 should have maximum sag.

  1. The data samples are replicated in the following directories:
    afs: /afs/cern.ch/user/m/muonprod/roberth/CSC.singlepart_mu100_15.2.0_ATLAS-GEO-07-00-00
    castor: /castor/cern.ch/user/g/goldfarb/CSC.singlepart_mu100_15.2.0_ATLAS-GEO-07-00-00
    atint0X: /net/s3_datac/goldfarb/CSC.singlepart_mu100_15.2.0_ATLAS-GEO-07-00-00
       
  2. Here is a listing of directory contents:
    > ls -l /afs/cern.ch/user/m/muonprod/roberth/CSC.singlepart_mu100_15.2.0_ATLAS-GEO-07-00-00
    -rw-r--r--  1 23674 zp 4301 Jun 25 21:59 batchscripts.tar.gz
    drwxr-xr-x  2 23674 zp 6144 Jun 25 22:47 CSC.008001.singlepart_mu100_sector1_barrel
    drwxr-xr-x  2 23674 zp 6144 Jun 25 21:59 CSC.008002.singlepart_mu100_sector5_barrel
    drwxr-xr-x  2 23674 zp 6144 Jun 25 21:59 CSC.008003.singlepart_mu100_sector1_endcap
    drwxr-xr-x  2 23674 zp 6144 Jun 25 21:59 CSC.008004.singlepart_mu100_sector5_endcap
    -rwxr-xr-x  1 23674 zp 1063 Jun 25 21:59 CSC.008233.singlepart_mu20_barrelEC.py
    -rwxr-xr-x  1 23674 zp 1060 Jun 25 21:59 CSC.singlepart_mu100_sector1_barrel.py
    -rwxr-xr-x  1 23674 zp 1060 Jun 25 21:59 CSC.singlepart_mu100_sector1_endcap.py
    -rwxr-xr-x  1 23674 zp 1060 Jun 25 21:59 CSC.singlepart_mu100_sector5_barrel.py
    -rwxr-xr-x  1 23674 zp 1060 Jun 25 21:59 CSC.singlepart_mu100_sector5_endcap.py
    -rwxr-xr-x  1 23674 zp  133 Jun 25 21:59 IDCaloOffDigitConfig.py
    -rw-r--r--  1 23674 zp 1149 Jun 25 22:01 README.txt
    -rwxr-xr-x  1 23674 zp 1981 Jun 25 21:59 submit_mu100.sh
       
  3. Check the README.txt file to understand the contents of the files. The geometry tags are
    field: ATLAS-GEO-07-00-00
    no field: ATLAS-GEONF-07-00-00
       

Modify jobOptions to Run PRDTest Algorithm on One of the Data Sets

This algorithm creates histograms comparing SimHits with ROT. It plots the residuals and other relevant values.

  1. Start with the example:
   cp !MuonRec_myTopOptions.py !PRDTestField.py
  1. Add the following lines to !PRDTestField.py to run on one of the data samples (endcap sector 1, with B field):
    from MuonRecExample.DataFiles import DataInfo,DataFilesInfoMap
    DataFilesInfoMap['wField'] = DataInfo(["/afs/cern.ch/user/m/muonprod/roberth/CSC.singlepart_mu100_15.2.0_ATLAS-GEO-07-00-00/CSC.008003.singlepart_mu100_sector1_endcap/CSC.008003.singlepart_mu100_sector1_endcap_magfield_[0-2].HITS.pool.root"],
                                        'HITS',
                                        'ATLAS-GEO-07-00-00' )
    muonRecFlags.InputData = 'wField'
       
  2. Add the following lines to specify the number of events:
    if not 'EvtMax' in dir():
        EvtMax = 250
       
  3. Add the following flags:
    doMuonRecStatistics = True
    doAuditors          = True
    recFlags.doCBNT     = True
    doTrkNtuple         = False
    readMuonDigit       = False
       
  4. After include("MuonRecExample/MuonRec_topOptions.py") add the following flags to include the PRD testing algorithm:
        include("MuonPRDTest/MDTPRDTest.py")
        if muonRecFlags.InputData() == 'wField':
            topSequence.MDTPRDValAlg.Propagator = ToolSvc.MuonPropagator
       

Example jobOption Files

jobOption files have been created to run over events in the data sets described above using the following variations: sector 1/sector 5, barrel/endcap, field/no field, geometric sag in digitization, rt sag effects in digitization, geometric sag corrections in reconstruction, rt sag corrections in calibration. Here are some examples:

Run the Test

The following output files will be created:

  • config.txt - Configuration used in job
  • PRDTestFieldOutput.txt Output from running the job
  • MDTPRDTest.root root file containing n-tuples, histograms

  1. Run the Test :
    athena PRDTestField.py >! PRDTestFieldOutput.txt &
    tail -f PRDTestFieldOutput.txt
       
  2. Copy the macro file from MuonValidation
    cp ~/TestArea/15.6.3.6/MuonSpectrometer/MuonValidation/MuonPRDTest/macros/MDTPRDVal.C .
       
  3. Be sure to modify the macros to handle the correct file names, etc.
  4. Open the root file:
    root MDTPRDTest.root
       
  5. Load the macros
    .L MDTPRDVal.C
       
  6. Plot the residuals
    draw()
       

Example Plots

The attached talk contains plots generated with the above jobOptions. There are still many technical problems to be resolved (track propagation, applying geometrical effects, etc.)

  • Analysis (28/07/2009): [ pdf ] [ ppt ]
  • Analysis (14/09/2009): [ pdf ] [ ppt ]

Interpreting the Plots

Variable Name Variable Meaning
MDT_SimRadius Local R of pure simulated drift circle
MDT_LocalZ Local Z of pure simulated drift circle
MDT_SdoRadius Local R of simulated drift circle with RT corrections
MDT_ExNomWireR Local R from wire to extrapolated track
MDT_ExNomWireZ Local Z intercept from wire to extrapolated track
MDT_ExSagWireR Local R from corrected wire to extrapolated track
MDT_ExSagWireZ Local Z intercept from corrected wire to extrapolated track
MDT_RotRadius Local R of reconstructed drift circle
MDT_ExSagRotR Local R from corrected ROT to extrapolated track

References


Major updates:
StevenGoldfarb - 23 Apr 2009 (creation) -- StevenGoldfarb - 28 Apr 2009 (added WireSag instructions) -- StevenGoldfarb - 01 Jul 2009 (modified for 15.2.0) -- StevenGoldfarb - 13 Jul 2009 (modified for 15.5.2.2) -- StevenGoldfarb - 28 Jul 2009 (linked some example job, plots) -- StevenGoldfarb - 2009-09-14 (added plot interpretation, analysis update) -- StevenGoldfarb - 23-Oct-2009 (modified for 15.3.1.7) -- StevenGoldfarb - 04-Nov-2009 (modified for 15.5.1.8) -- StevenGoldfarb - 04-Nov-2009 (reverted to 15.5.2.2) -- StevenGoldfarb - 07-Nov-2009 (modified for 15.5.2.2) -- StevenGoldfarb - 12-Feb-2010 (modified for 15.6.3.6 - SLC5 - and MdtCalibSvc changes) -- StevenGoldfarb - 01-Mar-2010 (updated some tags) -- StevenGoldfarb - 10-Jun-2010 (modified for 15.6.9.13)
Topic attachments
I Attachment History Action Size Date Who Comment
PDFpdf WireSag-20090728.pdf r2 r1 manage 1332.2 K 2009-07-29 - 11:14 StevenGoldfarb First Plots from Analysis
PowerPointppt WireSag-20090728.ppt r2 r1 manage 890.0 K 2009-07-29 - 11:15 StevenGoldfarb First Plots from Analysis
PDFpdf WireSag-20090914.pdf r1 manage 1639.2 K 2009-09-14 - 17:41 StevenGoldfarb Wire Sag Presentation
PowerPointppt WireSag-20090914.ppt r1 manage 1262.0 K 2009-09-14 - 17:40 StevenGoldfarb Wire Sag Presentation
Texttxt sector1_endcap_nofield_nogeosag_nortsag_nogeocor_nortcor_jobOptions.py.txt r1 manage 2.3 K 2009-07-28 - 17:47 StevenGoldfarb  
Texttxt sector5_endcap_magfield_nogeosag_nortsag_nogeocor_nortcor_jobOptions.py.txt r1 manage 2.4 K 2009-07-28 - 17:49 StevenGoldfarb  
Texttxt sector5_endcap_nofield_geosag_nortsag_geocor_nortcor_jobOptions.py.txt r1 manage 2.3 K 2009-07-28 - 17:49 StevenGoldfarb  
Texttxt sector5_endcap_nofield_geosag_nortsag_nogeocor_nortcor_jobOptions.py.txt r1 manage 2.3 K 2009-07-28 - 17:48 StevenGoldfarb  
Texttxt sector5_endcap_nofield_nogeosag_nortsag_nogeocor_nortcor_jobOptions.py.txt r1 manage 2.3 K 2009-07-28 - 17:47 StevenGoldfarb  
Edit | Attach | Watch | Print version | History: r30 < r29 < r28 < r27 < r26 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r30 - 2010-06-10 - StevenGoldfarb
 
    • 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-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
or Ideas, requests, problems regarding TWiki? use Discourse or Send feedback