Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/validation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -628,7 +628,7 @@ jobs:
retention-days: 1

rawlib-validation:
uses: rest-for-physics/rawlib/.github/workflows/validation.yml@master
uses: rest-for-physics/rawlib/.github/workflows/validation.yml@jgalan-raw-analysis

geant4lib-validation:
uses: rest-for-physics/geant4lib/.github/workflows/validation.yml@master
Expand Down
126 changes: 25 additions & 101 deletions examples/01.alphaTrack/processing.rml
Original file line number Diff line number Diff line change
@@ -1,22 +1,13 @@
<?xml version="1.0" ?>
<?xml version="1.0"?>
<TRestManager name="RESTManagerSim" title="Template manager to process a simulation generated by restG4.">

<globals>
<variable name="EXPERIMENT" value="Fluorescence" overwrite="false"/>
<variable name="RAW_PROCESSING" value="OFF" />
<variable name="HIT_PROCESSING" value="OFF" />
<variable name="TRACK_PROCESSING" value="OFF" />
<variable name="SHAPING" value="OFF" />
<parameter name="mainDataPath" value="."/>
<parameter name="verboseLevel" value="warning"/>
<globals><variable name="EXPERIMENT" value="Fluorescence" overwrite="false"/><variable name="RAW_PROCESSING" value="OFF"/><variable name="HIT_PROCESSING" value="OFF"/><variable name="TRACK_PROCESSING" value="OFF"/><variable name="SHAPING" value="OFF"/><parameter name="mainDataPath" value="."/><parameter name="verboseLevel" value="warning"/>
%options are : essential silent, warning, info, debug

<parameter name="sampling" value="10ns" />
<parameter name="driftVelocity" value="" />
<parameter name="electricField" value="100" units="V/cm" />
<parameter name="gasPressure" value="1" />
<parameter name="sampling" value="10ns"/>
<parameter name="driftVelocity" value=""/>
<parameter name="electricField" value="100" units="V/cm"/>
<parameter name="gasPressure" value="1"/>
</globals>

<TRestRun name="Process" title="Alpha simulations.">
<parameter name="experimentName" value="${EXPERIMENT}"/>
<parameter name="readOnly" value="false"/>
Expand All @@ -27,90 +18,37 @@
<parameter name="user" value="${USER}"/>
<parameter name="verboseLevel" value="1"/>
<parameter name="overwrite" value="off"/>
<parameter name="outputFileName" value="data/Response_[fRunTag].root" />

<addMetadata type="TRestDetectorReadout" name="cathode" file="readout/readouts.root" store="false" />
<TRestDetectorGas name="Argon-Isobutane 1Pct 10-10E3Vcm" pressure="1" file="server" />
<parameter name="outputFileName" value="data/Response_[fRunTag].root"/>
<addMetadata type="TRestDetectorReadout" name="cathode" file="readout/readouts.root" store="false"/>
<TRestDetectorGas name="Argon-Isobutane 1Pct 10-10E3Vcm" pressure="1" file="server"/>
</TRestRun>
<TRestProcessRunner name="TemplateEventProcess" verboseLevel="info"><parameter name="eventsToProcess" value="0"/><parameter name="threadNumber" value="1"/><parameter name="inputAnalysisStorage" value="on"/><parameter name="inputEventStorage" value="off"/><parameter name="outputEventStorage" value="on"/>

// observable = all will add all NON `custom` observables
<addProcess type="TRestGeant4AnalysisProcess" name="g4Ana" value="ON"><observable name="thetaPrimary" value="ON"/><observable name="phiPrimary" value="ON"/><observable name="xOriginPrimary" value="ON"/><observable name="yOriginPrimary" value="ON"/><observable name="zOriginPrimary" value="ON"/><observable name="xDirectionPrimary" value="ON"/><observable name="yDirectionPrimary" value="ON"/><observable name="zDirectionPrimary" value="ON"/><observable name="totalEdep" value="ON"/></addProcess>

<TRestProcessRunner name="TemplateEventProcess" verboseLevel="info">
<parameter name="eventsToProcess" value="0"/>
<parameter name="threadNumber" value="1"/>
<addProcess type="TRestGeant4ToDetectorHitsProcess" name="G4ToHits" value="ON"/>

<parameter name="inputAnalysisStorage" value="on"/>
<parameter name="inputEventStorage" value="off"/>
<parameter name="outputEventStorage" value="on"/>
<addProcess type="TRestDetectorElectronDiffusionProcess" name="eDiff" value="ON"><parameter name="attachment" value="0"/><parameter name="Wvalue" value="" units="eV"/><parameter name="maxHits" value="2000"/></addProcess>

// observable = all will add all NON `custom` observables
<addProcess type="TRestGeant4AnalysisProcess" name="g4Ana" value="ON">
<observable name="thetaPrimary" value="ON" />
<observable name="phiPrimary" value="ON" />
<observable name="xOriginPrimary" value="ON" />
<observable name="yOriginPrimary" value="ON" />
<observable name="zOriginPrimary" value="ON" />
<observable name="xDirectionPrimary" value="ON" />
<observable name="yDirectionPrimary" value="ON" />
<observable name="zDirectionPrimary" value="ON" />
<observable name="totalEdep" value="ON" />
</addProcess>

<addProcess type="TRestGeant4ToDetectorHitsProcess" name="G4ToHits" value="ON" />

<addProcess type="TRestDetectorElectronDiffusionProcess" name="eDiff" value="ON" >
<parameter name="attachment" value="0" />
<parameter name="Wvalue" value="" units="eV" />
<parameter name="maxHits" value="2000" />
</addProcess>

<addProcess type="TRestDetectorHitsSmearingProcess" name="smear" title="Smearing template">
<parameter name="energyReference" value="6keV" />
<parameter name="resolutionReference" value="13" />
</addProcess>
<addProcess type="TRestDetectorHitsSmearingProcess" name="smear" title="Smearing template"><parameter name="energyReference" value="6keV"/><parameter name="resolutionReference" value="13"/></addProcess>

<addProcess type="TRestDetectorFiducializationProcess" name="fidutialization" title="Readout fiducialization"/>

<addProcess type="TRestDetectorHitsAnalysisProcess" name="hitsAnaDiff" title="A hits analysis process">
<observable name="energy" value="ON" />
<observable name="xMean" value="ON" />
<observable name="yMean" value="ON" />
<observable name="zMean" value="ON" />
</addProcess>
<addProcess type="TRestDetectorHitsAnalysisProcess" name="hitsAnaDiff" title="A hits analysis process"><observable name="energy" value="ON"/><observable name="xMean" value="ON"/><observable name="yMean" value="ON"/><observable name="zMean" value="ON"/></addProcess>

<addProcess type="TRestDetectorHitsToSignalProcess" name="hitsToSignal" title="A hits to signal template" value="${HIT_PROCESSING}" >
<parameter name="driftVelocity" value="" />
</addProcess>
<addProcess type="TRestDetectorHitsToSignalProcess" name="hitsToSignal" title="A hits to signal template" value="${HIT_PROCESSING}"><parameter name="driftVelocity" value=""/></addProcess>

<addProcess type="TRestDetectorSignalToRawSignalProcess" name="signalToRaw" title="Physical signal to raw signal" value="${RAW_PROCESSING}">
<parameter name="Npoints" value="512" />
<parameter name="triggerMode" value="firstDeposit" />
<parameter name="triggerDelay" value="120" />
<parameter name="gain" value="10" />
</addProcess>
<addProcess type="TRestDetectorSignalToRawSignalProcess" name="signalToRaw" title="Physical signal to raw signal" value="${RAW_PROCESSING}"><parameter name="Npoints" value="512"/><parameter name="triggerMode" value="firstDeposit"/><parameter name="triggerDelay" value="120"/><parameter name="gain" value="10"/></addProcess>

<addProcess type="TRestRawSignalShapingProcess" name="shaping" title="Signal shaping" value="${SHAPING}">
<parameter name="shapingType" value="shaperSin" />
<parameter name="shapingTime" value="10" />
<parameter name="gain" value="1" />
</addProcess>
<addProcess type="TRestRawSignalShapingProcess" name="shaping" title="Signal shaping" value="${SHAPING}"><parameter name="shapingType" value="shaperSin"/><parameter name="shapingTime" value="10"/><parameter name="gain" value="1"/></addProcess>

<addProcess type="TRestRawSignalAddNoiseProcess" name="noise" title="Signal noise" value="${RAW_PROCESSING}">
<parameter name="noiseLevel" value="2" />
</addProcess>
<addProcess type="TRestRawSignalAddNoiseProcess" name="noise" title="Signal noise" value="${RAW_PROCESSING}"><parameter name="noiseLevel" value="2"/></addProcess>

<addProcess type="TRestRawSignalAnalysisProcess" name="rawAna" title="Signal noise" value="${RAW_PROCESSING}" observable="all">
</addProcess>

<addProcess type="TRestRawToDetectorSignalProcess" name="zS" value="${RAW_PROCESSING}"
triggerStarts="0us"
gain="1"
threshold="0.01"
zeroSuppression="true"
baseLineRange="(5,55)"
integralRange="(10,500)"
pointThreshold="2"
nPointsOverThreshold="5"
signalThreshold="3" />
<addProcess type="TRestRawToDetectorSignalProcess" name="zS" value="${RAW_PROCESSING}" triggerStarts="0us" gain="1" threshold="0.01" zeroSuppression="true" baseLineRange="(5,55)" analysisRange="(10,500)" pointThreshold="2" nPointsOverThreshold="5" signalThreshold="3"/>

<!-- Requires a bit of debugging
<addProcess type="TRestDetectorSignalChannelActivityProcess" name="chActivity" value="${RAW_PROCESSING}" verboseLevel="info" observable="all" >
Expand All @@ -119,28 +57,14 @@
</addProcess>
-->

<addProcess type="TRestDetectorSignalToHitsProcess" name="signalToHits" value="${HIT_PROCESSING}"
observable="all" method="all" />
<addProcess type="TRestDetectorSignalToHitsProcess" name="signalToHits" value="${HIT_PROCESSING}" observable="all" method="all"/>

<addProcess type="TRestDetectorHitsToTrackFastProcess" name="hitsToTrackFast" title="" value="OFF">
<parameter name="netOrigin" value="(-100,-100,-100)" units="mm" />
<parameter name="netSize" value="200" units="mm" />
<parameter name="cellResolution" value="2" units="mm" />
</addProcess>
<addProcess type="TRestDetectorHitsToTrackFastProcess" name="hitsToTrackFast" title="" value="OFF"><parameter name="netOrigin" value="(-100,-100,-100)" units="mm"/><parameter name="netSize" value="200" units="mm"/><parameter name="cellResolution" value="2" units="mm"/></addProcess>

<addProcess type="TRestDetectorHitsToTrackProcess" name="hitsToTrack" title="" value="${TRACK_PROCESSING}">
<parameter name="clusterDistance" value="1" units="cm" />
</addProcess>
<addProcess type="TRestDetectorHitsToTrackProcess" name="hitsToTrack" title="" value="${TRACK_PROCESSING}"><parameter name="clusterDistance" value="1" units="cm"/></addProcess>

<addProcess type="TRestTrackReductionProcess" name="reduction" title="" value="${TRACK_PROCESSING}">
<parameter name="startingDistance" value="0.15mm" />
<parameter name="minimumDistance" value="0.5mm" />
<parameter name="distanceStepFactor" value="1.15" />
<parameter name="maxNodes" value="3" />
</addProcess>
<addProcess type="TRestTrackReductionProcess" name="reduction" title="" value="${TRACK_PROCESSING}"><parameter name="startingDistance" value="0.15mm"/><parameter name="minimumDistance" value="0.5mm"/><parameter name="distanceStepFactor" value="1.15"/><parameter name="maxNodes" value="3"/></addProcess>

</TRestProcessRunner>

<addTask type="processEvents" value="ON"/>

</TRestManager>
Loading