Here is a recipe on HowToRunInDetCosmicReconstruction on ESDs. To run on Castor data you need to have Castor enviroment variables set,

export RFIO_USE_CASTOR_V2=YES
export STAGE_HOST=castoratlas
export STAGE_SVCCLASS=default

and also need, if running in InDetCosmicRecExample, to do

source ../share/InDetCosmicRecExample_links.sh

in your run directory.

To search for M4 data do,

nsls /castor/cern.ch/user/c/chriss/PitCosmics_M4/ESD

To run HLT on ESDs in RecExCommission package you need to modify your RecExCommission_topOptions.py:

To avoid strange crash you need to set,

L2HitsHypoNTRTDC=0
EFHitsHypoNTRTHTDC =0
EFHitsHypoNTRTDC   =0
L2HitsHypoNTRTHTDC =0

and add,

if not (ATLASCosmicFlags.doInDet and ATLASCosmicFlags.doMuons):
    if ATLASCosmicFlags.doCombinedFit:
        print "WARNING ATLASCosmicFlags.doCombinedFit switched to False"
    ATLASCosmicFlags.doCombinedFit=False    

  • Internal flags for InDet
To set your ESDInputs you need to add

if ATLASCosmicFlags.doInDet:
    include( "InDetCosmicRecExample/InDetCosmicFlags_jobOptions.py" )
    InDetCosmicFlags.readESD=True
    InDetCosmicFlags.ESDInputs=[
        "castor:/castor/cern.ch/user/c/chriss/PitCosmics_M4/ESD/InDetESD_run_20720_0_50000.root",
        "castor:/castor/cern.ch/user/c/chriss/PitCosmics_M4/ESD/InDetESD_run_20895_0_50000.root",
        "castor:/castor/cern.ch/user/c/chriss/PitCosmics_M4/ESD/InDetESD_run_20298_0_50000.root"
        ]

  • Load POOL support

Comment out the following lines (after 'else' statement),

   if not ATLASCosmicFlags.doOnline:
       include( "ByteStreamCnvSvc/BSEventStorageEventSelector_jobOptions.py" )
   include( "ByteStreamCnvSvcBase/BSAddProvSvc_RIO_jobOptions.py" )
   include( "ByteStreamCnvSvcBase/BSAddProvSvc_RDO_jobOptions.py" )
   #remove problematic entries from ByteStreamAddressProviderSvc.TypeNames
   svcMgr.ByteStreamAddressProviderSvc.TypeNames.remove("LArRawChannelContainer/LArRawChannels")
   svcMgr.ByteStreamAddressProviderSvc.TypeNames.remove("LArCellIDC/LArCellIDC")

   if not ATLASCosmicFlags.doOnline:
        # Specify input file
        ByteStreamInputSvc = Service( "ByteStreamInputSvc" )
        if len(ATLASCosmicFlags.FullFileName)>0:
            ByteStreamInputSvc.FullFileName=ATLASCosmicFlags.FullFileName
            ByteStreamInputSvc.NumFile=ATLASCosmicFlags.NumFile
        else:
            # Input directory
            ByteStreamInputSvc.InputDirectory = [ ATLASCosmicFlags.InputDirectory ]
            # Prefix
            ByteStreamInputSvc.FilePrefix += [ATLASCosmicFlags.FilePrefix]
            # Run number
            ByteStreamInputSvc.RunNumber = ATLASCosmicFlags.RunNumber
            # skip a given number of corrupted events
            ByteStreamInputSvc.MaxBadEvents = 100
                                                                                                                                 
        # Reader type "Castor" or "Simple"
        ByteStreamEventStorageInputSvc = Service( "ByteStreamEventStorageInputSvc" )
        ByteStreamEventStorageInputSvc.ReaderType = "Castor"

and add below,

 print 'Real data'

    if InDetCosmicFlags.readESD:
        include( "AthenaPoolCnvSvc/ReadAthenaPool_jobOptions.py" )
        # converters
        include( "InDetEventAthenaPool/InDetEventAthenaPool_joboptions.py" )
        include( "EventAthenaPool/EventAthenaPool_joboptions.py" )
        #include( "GeneratorObjectsAthenaPool/GeneratorObjectsAthenaPool_joboptions.py" )
        #include( "G4SimAthenaPOOL/G4SimAthenaPOOL_joboptions.py" )
        EventSelector = Service( "EventSelector" )
        EventSelector.InputCollections = InDetCosmicFlags.ESDInputs

Then, replace

ByteStreamAddressProviderSvc.TypeNames += ["LArDigitContainer/"+LArDigitKey]
ByteStreamAddressProviderSvc.TypeNames += ["LArFebHeaderContainer/LArFebHeader"]
with
svcMgr.ByteStreamAddressProviderSvc.TypeNames += ["LArDigitContainer/"+LArDigitKey]
svcMgr.ByteStreamAddressProviderSvc.TypeNames += ["LArFebHeaderContainer/LArFebHeader"]

  • Recontruction

Add this,

if ATLASCosmicFlags.doCombinedFit:
    include ("RecExCommission/CombinedMuonFit_jobOptions.py")

  • Monitoring

Set

 
ManagedAthenaMonPilot.ManualDataTypeSetup
to TRUE, and comment out these lines,
 
ManagedAthenaMonPilot.Run                = 1
ManagedAthenaMonPilot.LumiBlock          = 1

  • POOL output

Add

 
if not ATLASCosmicFlags.doInDet and ATLASCosmicFlags.doFilteredESD:
    print "WARNING: Can't have doFilteredESD without doInDet! doFilteredESD disabled."
    ATLASCosmicFlags.doFilteredESD=False
and replace,
 
if ATLASCosmicFlags.doESD:
with
 
if ATLASCosmicFlags.doESD or ATLASCosmicFlags.doFilteredESD:

Add to #Detector output,

 
 if not ATLASCosmicFlags.doESD:
        Stream1.Enable=False  #disable if only filtered ESD

and, at the end,

 
 if  ATLASCosmicFlags.doFilteredESD:
    include ("RecExCommission/FilteredESD.py")
    Stream2.OutputFile = ATLASCosmicFlags.FilteredESDOutputFile

  • Output level

Add,

 
Service("GeoModelSvc").IgnoreTagDifference = True

-- LauraGonzalezSilva - 27 Sep 2007

Edit | Attach | Watch | Print version | History: r1 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r1 - 2007-10-02 - LauraGonzalezSilva
 
    • 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