The page on "egammaAODRender" has moved to https://twiki.cern.ch/twiki/bin/view/AtlasProtected/EgammaAODRender

Saving PrepRawData (PRD) in the RoI around a Tau

Preface

This page describes the steps undertaken to save PrepRawData (PRD) from the Inner Detector in a region of interest (RoI) around a "Tau" into the LargeMet performance DPD. Following is a prescription for re-running tracking and tau reconstruction on either a primary DPD or ESD

Motivation

There are several motivations for saving PRD around a tau candidate. In particular the saving of hits and clusters in the ID will allow for the re-running of pattern recognition with a specialised configuration or altogether new algorithms that may better resolve tracks from 1-prong and 3-prong Tau decays than do the nominal algorithms.

PrimaryDPDMaker and saving PRD

Karsten Köneke has done all the substantial groundwork for saving PRD near objects of interest from an ESD into a performance DPD. His implementation for the EGammaStream performance DPD forms the template for its inclusion into the LargeMetStream. Basically the following files, which are attached to this page), were edited

PhysicsAnalysis/PrimaryDPDMaker/share/PrimaryDPD_LargeMetStream.py
PhysicsAnalysis/PrimaryDPDMaker/python/PrimaryDPDFlags_LargeMetStream.py

following the same code structure found in

PhysicsAnalysis/PrimaryDPDMaker/share/PrimaryDPD_EGammaStream.py
PhysicsAnalysis/PrimaryDPDMaker/python/PrimaryDPDFlags_EGammaStream.py

Working in Athena release 14.5.0, Check out PrimaryDPDMaker-00-01-10, and replace the files listed above (PrimaryDPD_LargeMetStream.py and PrimaryDPDFlags_LargeMetStream.py) with ones attached to this twiki page.

Below is the jobOptions file used to produce the primary DPD. The "Skimming" option was set to false, simply because a viable DPD isn't produced when it is set to true.

#=======================================================
from PrimaryDPDMaker.PrimaryDPDFlags import primDPD
from PrimaryDPDMaker.PrimaryDPDFlags_LargeMetStream import primLargeMetDPD

primDPD.WriteSingleElectronStream = False
primDPD.WriteLargeMetStream       = True
primDPD.WriteEGammaStream         = False
primDPD.WritePhotonJetStream      = False
primDPD.WriteMuonStream           = False
primDPD.WritePerfLiteStream       = False

primDPD.ApplySkimming = False
primDPD.ApplySlimming = False
primDPD.ApplyThinning = True

primDPD.UseMCTruth = True

primDPD.ApplyJetSlimming = False
primDPD.SetupTrigDecisionTool = False
primDPD.WritePrimaryDPDTrigger = False

primDPD.OutputDirectoryName = "/home/antonio/atlas/testarea/14.5.0/run/outputdir"

primLargeMetDPD.ApplyThinning       = True   # Default True

primLargeMetDPD.ApplyPixelClusterThinning   = True   # Default False
primLargeMetDPD.ApplySCTClusterThinning     = True   # Default True
primLargeMetDPD.ApplyTRTDriftCircleThinning = True   # Default True

InputCollections = [ "/home/wedavey/data/InterfaceTestData/ESDv14022000/valid1.005188.A3_Ztautau_filter.recon.ESD.e322_s472_r536/ESD.025556._00008.pool.root.1" ]
DetDescrVersion = "ATLAS-GEO-02-00-00"

include("PrimaryDPDMaker/esdtodpd.py")
#=======================================================

Results

They are preliminary and are basically a "first run"

Using a Z->!TauTau sample (5188) 1 ESD file of 250 events

                              LargeMet DPD Size (MBytes)
Default no PRD      198
With all PRD                    229
With thinned PRD       212

For thinning I require cone size deltaR=0.3 for SiClusters and deltaEta=!deltaPhi=0.3, where applicable, for TRT drift circles . These requirements are nominal and will require study.

There are ERRORs that Karsten warned me to expect (their cause is still being investigated)

PixelGangedClusterAmbiguitiesConverter              ERROR Identifier = (0xa9eaac17), Local Position = (N3Trk13LocalPositionE: (0.390, -20.800)), RDO List = [0xa9eaac17, ], Local Error Matrix = (Trk::CovarianceMatrix of dimension  = 2

PixelGangedClusterAmbiguitiesConverter              ERROR Could not find matching PRD container for this PixelCluster! Dumping PRD: PixelCluster object

Re-running tracking and tau reconstruction on the DPD/ESD

How to re-run tracking and tau reconstruction is described in https://twiki.cern.ch/twiki/bin/view/Atlas/RecoReReconstruction

Each subsection is geared towards describing how to re-run a particular component in a stand-alone mode. Presented here are instructions to re-run tracking and tau reconstruction consecutively.

Preparing to re-run tracking

Tracking needs to be re-run after the "Preparation" stage as it's defined in the "ATLAS Inner Detector Event Data Model" paper (ATL-SOFT-PUB-2007-006), because the containers holding the PrepRawData (PRD) objects already exist in the primary DPD/ESD. How to do this was gleaned from the ID Tracking Performance hypernews site "Rerunning Trackfinding"

Check out InDetRecExample

cmt co -r InDetRecExample-01-15-13 InnerDetector/InDetExample/InDetRecExample

Add the following

DetFlags.ID_setOn()
DetFlags.makeRIO.pixel_setOff()
DetFlags.makeRIO.SCT_setOff()
DetFlags.makeRIO.TRT_setOff()

from InDetRecExample.InDetJobProperties import InDetFlags
InDetFlags.Enabled = True
InDetFlags.preProcessing      = True
InDetFlags.doNewTracking      = True

InDetFlags.doStatistics       = True
InDetFlags.doTruth            = True
InDetFlags.doStatNtuple    = True
InDetFlags.doTrkNtuple      = True
InDetFlags.doPixelTrkNtuple = True
InDetFlags.doVtxNtuple      = True
InDetFlags.doConvVtxNtuple  = True

to InnerDetector/InDetExample/InDetRecExample/share/InDetRec_jobOptions.py and then recompile the InDetRecExample package.

Rerunning tracking and tau reconstruction on a primary DPD/ESD

The following job options can now be used to run the full chain.

EvtMax     = -1
DetDescrVersion='ATLAS-GEO-02-00-00'
#PoolESDInput=["/home/wedavey/data/InterfaceTestData/ESDv14022000/valid1.005188.A3_Ztautau_filter.recon.ESD.e322_s472_r536/ESD.025556._00008.pool.root.1"]
PoolESDInput= ["/home/antonio/atlas/testarea/14.5.0/run/outputdir/PrimaryDPD_DefaultName_ThinLargeMet.pool.root" ]
doCBNT=False
readESD=True
doWriteESD=False
doWriteAOD=True
doAOD=True
doWriteTAG=False

from tauRec.tauRecFlags import jobproperties
jobproperties.tauRecFlags.Enabled.set_Value_and_Lock(True)

from CaloRec.CaloRecFlags import jobproperties
jobproperties.CaloRecFlags.Enabled.set_Value_and_Lock(True)
jobproperties.CaloRecFlags.doCaloCluster.set_Value_and_Lock(True)
jobproperties.CaloRecFlags.doCaloTopoCluster.set_Value_and_Lock(True)

from JetRec.JetRecFlags import jobproperties
jobproperties.JetRecFlags.Enabled.set_Value_and_Lock(True)

from JetRec.JetRecFlags import jetFlags
jetFlags.doBTagging = False
#if False prevents job from crashing when running over a primary DPD 
#True is safe when running over ESD

# main jobOption
include ("RecExCommon/RecExCommon_topOptions.py")

Validation

Comparisons of track/tau collections written into an AOD when produced from ESD with and without re-running track and tau reconstruction have been performed. An increase in the number of Tau 1P3P-seeded candidates of order 10% is observed when re-running tracking and tau reconstruction over an ESD/DPD, why this occurs is not yet understood ... it is being investigated. The number of tracks in the TrackParticleContainer#TrackParticleCandidate collection is fairly consisent with a difference of about 1% in the number of tracks. Changing from the default, GlobalChi2Fitter, to a different fitter, GaussianSumFitter, reduces the number of tracks by about 5%.

When running over the ESD/DPD InDetTrackSlimmer records an error, as does ForwardIndexingPolicy. The first error doesn't affect tau reconstruction, since the tau1p3p algorithm sources the TrackParticleContainer#TrackParticleCandidate collection, and it has been checked that this collection is written anew in the ESD to AOD step. On the second error, it has been reported here. It's not clear whether it's a problem that affects track and tau re-reconstruction.

StoreGateSvc                                      WARNING record: Problem setting up the proxy for object @0x3be20360
 recorded with key Tracks of type TrackCollection (CLID 117682415) in DataObject @0x29c24a50
InDetTrackSlimmer                                   ERROR Could not record tracks

ForwardIndexingPolicy                               ERROR reverseLookup: element not found

More to come ...

Feedback

Please send your comments and suggestions to antonio.limosani@cernNOSPAMPLEASE.ch

-- AntonioLimosani - 16 February 2009

Test

InnerDetector and Tracking Software Package Tag Differences

?IDTagDifferences

The table below lists tag differences of packages belonging to InnerDetector and Tracking software. It has been compiled after search for differences between

  • 16.0.0-VAL and 15.5.2-VAL
  • 15.5.2 and 15.5.X.Y-P1HLT
  • 15.5.2 and 15.5.X.Y-T0
  • 15.5.2 and 15.5.X.Y-Prod

If a difference of tag is found between any of the above comparisons then the actual tags will be given in the relevant column. If the tags are equivalent across all release types then the package won't be listed

Package name 16.0.0-VAL 15.5.2-VAL 15.5.2 15.5.X.Y-P1HLT 15.5.X.Y-T0 15.5.X.Y-Prod Comment
InnerDetector/InDetAlignAlgs/SiRobustAlignAlgs - - 01-05-16 - 01-05-17 01-05-17 -
InnerDetector/InDetConditions/SCT_ConditionsServices 00-03-59 00-03-58 00-03-57 00-03-57 00-03-59 00-03-58 -
InnerDetector/InDetConditions/TRT_ConditionsServices 00-00-43 00-00-41 - - - - -
InnerDetector/InDetDetDescr/InDetGeoModelUtils 00-04-00 00-02-06 - - - - -
InnerDetector/InDetDetDescr/InDetServMatGeoModel 00-04-00 00-03-02 - - - - -
InnerDetector/InDetDetDescr/PixelGeoModel 00-09-04 00-08-09 - - - - -
InnerDetector/InDetDigitization/SCT_Digitization 00-11-32 00-11-31 - - - - -
InnerDetector/InDetDigitization/TRT_Digitization 00-10-30 00-10-29 - - - - -
InnerDetector/InDetEventCnv/PixelRawDataByteStreamCnv 00-02-11 00-02-10 - - - - -
InnerDetector/InDetEventCnv/TRT_RawDataByteStreamCnv 00-02-24 00-02-23 - - - - -
InnerDetector/InDetExample/InDetBeamSpotExample 00-00-06 00-00-04 - - - - - -
InnerDetector/InDetExample/InDetRecExample 01-18-61 01-18-59 01-18-59 01-18-55 - - -
InnerDetector/InDetExample/InDetTrigRecExample 00-09-26 00-09-22 00-09-22 00-09-20 00-09-20 00-09-20 -
InnerDetector/InDetMonitoring/InDetAlignmentMonitoring 00-03-19 00-03-18 00-03-18 - 00-03-19 00-03-19 -
InnerDetector/InDetMonitoring/InDetPerformanceMonitoring - - 00-00-45 00-00-44 - - -
InnerDetector/InDetMonitoring/TRT_Monitoring 00-06-10 00-06-06 - - - - -
InnerDetector/InDetRecAlgs/SiCTBTracking 00-02-09 00-02-07 - - - - -
InnerDetector/InDetRecTools/InDetTrackScoringTools - - 00-04-14 00-04-13 - - -
InnerDetector/InDetRecTools/TRT_TrackSegmentsTool_xk 00-01-77 00-01-76 - - - - -
InnerDetector/InDetSimUtils/TRT_PAI_Process 00-00-32 00-00-31 - - - - -
InnerDetector/InDetSimUtils/TRT_TR_Process 00-00-34 00-00-32 - - - - -
InnerDetector/InDetTrigRecAlgs/InDetTrigTrackCollectionMerger 00-01-01 00-01-00 - - - - -
InnerDetector/InDetValidation/InDetBackTrackingRTT 00-01-11 00-01-09 - - - - -
InnerDetector/InDetValidation/InDetTrackValidation 00-05-11 00-05-10 00-05-10 00-05-09 - - -
InnerDetector/InDetValidation/InDetVertexSplitter 00-00-02 - - - - - -
InnerDetector/InDetValidation/TRT_RTT 00-01-30 00-01-28 - - - - -
Tracking/TrkEventCnv/TrkEventTPCnv 00-23-02 00-23-01 - - - - -
Tracking/TrkExtrapolation/TrkExAlgs 00-01-06 00-01-04 - - - - -
Tracking/TrkExtrapolation/TrkExExample 00-02-15 00-02-14 - - - - -
Tracking/TrkExtrapolation/TrkExTools - - 02-37-09 - 02-37-13 - -
Tracking/TrkTools/TrkRIO_OnTrackCreator 00-07-10 00-07-09 - - - - -
Tracking/TrkUtilityPackages/TrkDriftCircleMath 00-07-01 00-07-02 00-06-01 - 00-07-02 - -
Tracking/TrkFitter/TrkiPatFitter - - 02-04-06 - 02-04-08 - -
Tracking/TrkVertexFitter/TrkVKalVrtCore 00-03-06 00-03-02 - - - - -
Tracking/TrkVertexFitter/TrkVKalVrtFitter 00-04-08 00-04-03 - - - - -
Tracking/TrkVertexFitter/TrkVertexAnalysisUtils 00-02-08 00-02-07 - - - - -

To get tag differences between 16.0.0-VAL and 15.5.2-VAL

#!/bin/bash
wget http://atlas-computing.web.cern.ch/atlas-computing/links/distDirectory/nightlies/global/nicos_content16.X.0-VAL.html
wget http://atlas-computing.web.cern.ch/atlas-computing/links/distDirectory/nightlies/global/nicos_content15.5.X-VAL.html
cat nicos_content16.X.0-VAL.html | grep -e "InnerDetector/" -e "Tracking/" | awk -F\> '{print $3,$5}' | awk -F\<\/td '{print $1,$2}' > 16.0.0.log
sort 16.0.0.log > 16.0.0.sort.log
cat nicos_content15.5.X-VAL.html | grep -e "InnerDetector/" -e "Tracking/" | awk -F\> '{print $3,$5}' | awk -F\<\/td '{print $1,$2}' > 15.5.2.log
sort 15.5.2.log > 15.5.2.sort.log
diff 16.0.0.sort.log 15.5.2.sort.log | grep -e "InnerDetector" -e "Tracking"

To get tag differences between 15.5.2 and {15.5.X.Y-P1HLT,15.5.X.Y-T0,15.5.X.Y-Prod}

#!/bin/bash

wget http://atlas-computing.web.cern.ch/atlas-computing/projects/script_out/Tags_15.5.2__gt_16.0.0_.txt
wget http://atlas-computing.web.cern.ch/atlas-computing/projects/script_out/pTags_15.5.2--15.5.X.Y-T0_.txt
wget http://atlas-computing.web.cern.ch/atlas-computing/projects/script_out/pTags_15.5.2--15.5.X.Y-Prod_.txt
wget http://atlas-computing.web.cern.ch/atlas-computing/projects/script_out/pTags_15.5.2--15.5.X.Y-P1HLT_.txt

filelist=`ls *Tags_*.txt`
for file in $filelist
do
    filename=`basename $file .txt`
    outfile=${filename}.log
    egrep "InnerDetector|Tracking" ${file} > ${outfile}
    echo ""
    echo $file
    cat $outfile
done

UserForm
FirstName Antonio
LastName Limosani
Email antonio.limosani@cernNOSPAMPLEASE.ch
Telephone +61-3-8344-5455
Address School of Physics, The University of Melbourne
Comment ATLAS
Edit personal data
Topic attachments
I Attachment History Action Size Date Who CommentSorted ascending
Waveform sound filemp3 LHC_TX.mp3 r1 manage 4073.3 K 2011-05-28 - 21:51 AntonioLimosani  
Texttxt PrimaryDPDFlags_LargeMetStream.py.txt r2 r1 manage 5.5 K 2009-02-13 - 07:34 AntonioLimosani  
Texttxt PrimaryDPD_LargeMetStream.py.txt r2 r1 manage 13.3 K 2009-02-13 - 07:34 AntonioLimosani  
Edit | Attach | Watch | Print version | History: r20 < r19 < r18 < r17 < r16 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r20 - 2011-05-28 - AntonioLimosani
 
    • 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