Print

Print


Hi, Norman.

The conditions system doesn't know that the SVT conditions need to be disabled for your job, so you need to configure this yourself.

You need to insert into your Driver chain a ConditionsDriver with a specified config that turns this off, such as the Eng Run config ...

<driver name="ConditionsDriver" type="org.hps.conditons.ConditionsDriver">
    <xmlConfigResource>/org/hps/conditions/config/conditions_database_engrun.xml</xmlConfigResource>
</driver>

Or you can fix the job to a run number where this will be automatically activated ...

<driver name="ConditionsDriver" ...>
    <runNumber>3000</runNumber>
    <freeze>true</freeze>
</driver>

And, no, you can't disable the conditions system.  Too much code would break completely to make this a practical option.

--Jeremy

-----Original Message-----
From: Graf, Norman A. 
Sent: Thursday, March 05, 2015 3:51 PM
To: McCormick, Jeremy I.
Subject: RE: MC recon & conditionsmanager

I'm running the standard bin jar with a minor variant of the SimpleMCReco steering file:

> java -server -jar ~/svn/hps/distribution/target/hps-distribution-3.2-SNAPSHOT-bin.jar SimpleMCRecon.lcsim -DoutputFile=./tst.slcio

> cat SimpleMCRecon.lcsim
<!--
    This is a steering file for running a simplified version of the reconstruction directly
    on LCIO files generated with SLIC, which only contain MCParticle, SimCalorimeterHit,
    and SimTrackerHit collections.

    It should NOT be used for production purposes and is primarily intended for testing,
    or for performing a quick analysis on MC data without running the trigger simulation.
-->
<lcsim xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"
       xs:noNamespaceSchemaLocation="http://www.lcsim.org/schemas/lcsim/1.0/lcsim.xsd">
    <inputFiles>
      <fileList>fileList</fileList>
    </inputFiles>
    <control>
        <printInputFiles>true</printInputFiles>
        <printDriversDetailed>true</printDriversDetailed>
    </control>
    <execute>
        <!-- Print out event numbers. -->
        <driver name="EventMarkerDriver"/>
        <!-- Setup the SVT sensors. -->
<!--        <driver name="SvtSensorSetup" />        -->
        <!-- Simple tracker hit digi. -->
<!--        <driver name="TrackerDigiDriver"/>      -->
        <!-- Create tracker hits. -->
<!--        <driver name="HelicalTrackHitDriver"/>  -->
        <!-- Find tracks. -->
<!--        <driver name="TrackerReconDriver"/>     -->
        <!-- Create ecal clusters. -->
        <driver name="EcalClusterer"/>
        <!-- Create recon particles. -->
        <driver name="ReconParticle" />
        <!-- Write out a recon LCIO file. -->
        <driver name="LCIOWriter"/>
        <!-- Cleanup the readout collections on the detector after each event. -->
        <driver name="CleanupDriver" />
    </execute>
    <drivers>
        <driver name="EventMarkerDriver" type="org.lcsim.job.EventMarkerDriver">
            <eventInterval>1000</eventInterval>
        </driver>
        <driver name="SvtSensorSetup" type="org.hps.recon.tracking.SvtSensorSetup" />
        <driver name="TrackerDigiDriver" type="org.hps.recon.tracking.SimpleTrackerDigiDriver">
            <debug>false</debug>
        </driver>
        <driver name="HelicalTrackHitDriver" type="org.hps.recon.tracking.HelicalTrackHitDriver">
            <debug>false</debug>
            <maxSeperation>20.0</maxSeperation>
            <tolerance>1.0</tolerance>
        </driver>
        <driver name="TrackerReconDriver" type="org.hps.recon.tracking.TrackerReconDriver">
            <debug>false</debug>
            <strategyResource>/org/hps/recon/tracking/strategies/HPS-Full.xml</strategyResource>
        </driver>
        <driver name="EcalClusterer" type="org.hps.recon.ecal.cluster.ClusterDriver">
            <clustererName>SimpleReconClusterer</clustererName>
            <inputHitCollectionName>EcalHits</inputHitCollectionName>
        </driver>
        <driver name="ReconParticle" type="org.hps.recon.particle.HpsReconParticleDriver"/>
        <driver name="LCIOWriter" type="org.lcsim.util.loop.LCIODriver">
            <outputFilePath>${outputFile}</outputFilePath>
        </driver>
        <driver name="CleanupDriver" type="org.lcsim.recon.tracking.digitization.sisim.config.ReadoutCleanupDriver"/>
    </drivers>


-----Original Message-----
From: McCormick, Jeremy I. 
Sent: Thursday, March 05, 2015 3:48 PM
To: Graf, Norman A.
Subject: RE: MC recon & conditionsmanager

Okay thanks.

What is the exact command you're running?  

I think this should be fixable pretty easily...

-----Original Message-----
From: Graf, Norman A. 
Sent: Thursday, March 05, 2015 3:46 PM
To: McCormick, Jeremy I.
Subject: RE: MC recon & conditionsmanager

There is a lot of printout from the DatabaseConditionsManager, which then ends with:
...
Thu Mar 05 15:31:21 PST 2015 org.hps.conditions.database.DatabaseConditionsManager getData
INFO: loading conditions set...
id: 7
name: svt_gains
runStart: 0
runEnd: 0
tableName: svt_gains
collectionId: 1
updated: 2014-10-31 17:04:30.0
created: 2013-10-03 16:51:19.0
tag: dev
createdBjava.lang.NullPointerException
        at org.hps.conditions.svt.SvtDetectorSetup.loadDefault(SvtDetectorSetup.java:80)
        at org.hps.conditions.svt.SvtDetectorSetup.conditionsChanged(SvtDetectorSetup.java:65)
        at org.lcsim.conditions.ConditionsManagerImplementation.fireConditionsChanged(ConditionsManagerImplementation.java:122)
        at org.lcsim.conditions.ConditionsManagerImplementation.setConditionsReader(ConditionsManagerImplementation.java:69)
        at org.lcsim.conditions.ConditionsManagerImplementation.setDetector(ConditionsManagerImplementation.java:53)
        at org.hps.conditions.database.DatabaseConditionsManager.initialize(DatabaseConditionsManager.java:369)
        at org.hps.conditions.database.DatabaseConditionsManager.setDetector(DatabaseConditionsManager.java:313)
        at org.lcsim.event.base.BaseLCSimEvent.<init>(BaseLCSimEvent.java:52)
        at org.lcsim.lcio.LCIOEvent.<init>(LCIOEvent.java:62)
        at org.lcsim.lcio.LCIOEvent.<init>(LCIOEvent.java:25)
        at org.lcsim.lcio.LCIOReader.read(LCIOReader.java:59)
        at org.lcsim.util.loop.LCIOEventSource.next(LCIOEventSource.java:129)
        at org.freehep.record.loop.DefaultRecordLoop.fetchRecord(DefaultRecordLoop.java:809)
        at org.freehep.record.loop.DefaultRecordLoop.loop(DefaultRecordLoop.java:648)
        at org.freehep.record.loop.DefaultRecordLoop.execute(DefaultRecordLoop.java:566)
        at org.lcsim.util.loop.LCSimLoop.loop(LCSimLoop.java:151)
        at org.lcsim.job.JobControlManager.run(JobControlManager.java:427)
        at org.hps.job.JobManager.run(JobManager.java:36)
        at org.lcsim.job.JobControlManager.run(JobControlManager.java:185)
        at org.hps.job.JobManager.main(JobManager.java:18)




-----Original Message-----
From: McCormick, Jeremy I. 
Sent: Thursday, March 05, 2015 3:45 PM
To: Graf, Norman A.
Subject: RE: MC recon & conditionsmanager

What's the error message?

-----Original Message-----
From: Graf, Norman A. 
Sent: Thursday, March 05, 2015 3:37 PM
To: McCormick, Jeremy I.
Cc: Graham, Mathew Thomas
Subject: MC recon & conditionsmanager

Jeremy,
 I am trying to reconstruct some events using the ECal Commissioning detector which does not have the SVT.
Even though my steering file does not contain any reference to tracking, the JobManager automatically inserts a Driver:

" added SvtSensorSetup to beginning of Driver list"

This then triggers a call to the ConditionsManager, which fails.

Two questions:

1.) why is SvtSensorSetup being added to the list of Drivers?

2.) Is there a way to bypass the database conditions manager for MC reconstruction?

Let me know if you need any additional information.
Thanks,
Norman

########################################################################
Use REPLY-ALL to reply to list

To unsubscribe from the HPS-SOFTWARE list, click the following link:
https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=HPS-SOFTWARE&A=1