HannaPlusPlusModules
Page maintainer: Andreas
| This page is not yet ready for use or review. It is assigned to Andreas. The page isn't being edited right this minute, so feel free to add any information you have about this subject. |
The following is a description of analysis modules provided with Hanna++.
Standard uDST Modules
uDSTBurstSelect
Fingerprint: 6381b46c08966f797d88d7c6e756531c
CVS revision: v 1.25 2009-07-31 12:17:02
Authors: Andreas Mussgiller, Dietmar Zeiler
Crosschecked by: nobody
uDSTBurstSelect is a burst selection analysis modules (derived from uDSTVBurstSelect) to select bursts. The corresponding burst info class is uDSTBurstInfo.
Detailed Logic
At the beginning of each burst the following criteria have to be met in order to mark the burst as good:
- The production method bit pattern (from g1DAQ) must not contain the bits provided in the cut fProdMethodBit.
- If the beam polarization should be checked (can be switched on by the cut fCheckBPol), the beam polarization measurements have to be valid and the polarization value has to be in the range of the cut fBPolRange.
- The lumi rate has to be inside the range of the cut fLumiRateRange.
- The TRD data quality bits have to be equal to the value of the cut fTrdDQ. This check can be bypassed, if fTrdDQ is set to -999.
- The deadtime has to be inside the range of the cut fDeadTimeRange.
- The data quality bit patterns for the top and bottom parts of the spectrometer have to be equal to the cut fBadBits. If a burst list is provided, the data quality bits are taken from the burst list. If the burst list is used and a certain burst is not found in the list, the burst is marked as bad. If no burst list is provided, the bit patterns are taken from the uDST tables.
XML Parameters
<THAnalyzer class="uDSTBurstSelect" name="name" path="path"> <THCutB name="fCheckBPol" value="true">Check for valid beam polarization values</THCutB> <THCutRangeD name="fBPolRange" min="2.000000e+01" max="8.000000e+01">The allowed beam polarization range (ec)</THCutRangeD> <THCutRangeD name="fLumiRateRange" min="5.000000e+00" max="1.000000e+04">The allowed lumi rate range (ec)</THCutRangeD> <THCutI name="fTrdDQ" value="3">The Trd data quality number (set to -999 to disable check)</THCutI> <THCutBP name="fBadBit" value="0x501e13dc">The Bad Bits</THCutBP> <THCutBP name="fProdMethodBit" value="0x00000800">The HRC tracking method bit; also tests beam pol</THCutBP> <THCutRangeD name="fDeadTimeRange" min="8.000000e-01" max="1.000000e+00">The allowed dead time range (ic)</THCutRangeD> </THAnalyzer>
uDSTdisSelect
Fingerprint: e08f8650d9e14cd83a379dc0ee21bea2
CVS revision: v 1.39 2009-11-27 13:57:00
Authors: Dietmar Zeiler, Andreas Mussgiller
Crosschecked by: nobody
uDSTdisSelect is an event selection analysis modules (derived from uDSTVEventSelect) to select DIS events. The corresponding event info class is uDSTdisInfo.
Detailed Logic
For each event that is processed the code loops over all g1Tracks in that event and stops once the scattered beam lepton is found according to the following citeria:
- The track must be a long track by checking the iSelect field for bits 0x0100 or 0x0200.
- In case of real data the trigger mask (smTrack) is checked. The desired trigger mask can be set via the parameter fTrig in the XML file. For MC data the g1Track must have a corresponding g1MTrack.
- The particle is checked to be a lepton by requiring PID2+PID5 to be inside the range of the cut fPIDRange. For MC data this check is done via the associated g1MTracks Lund particle type.
- In case the use of the TMC corrections is switched on via the parameter fUseTMC, the z vertex as well as the transverse vertex are taken from the TMC correction columns in g1Track. The TMC corrected values are only used, if the TMC status bits (iTMCStat) correspond to the parameter fTMCStat provided in the XML file.
- The tracks z vertex and transverse vertex to be inside the cut fVertZRange and fMaxVertD.
- The cluster position in the calorimeter is checked to be inside the specified ranges. The absolute value of the x coordinate of the cluster has to be smaller than the cut fMaxXCalo, whereas the absolute value of the y coordinate of the cluster has to be inside the range of the cut fYCaloRange. The x and y coordinates are calculated using the x and y positions and slopes provided by smTrack taking into account the z position of the cluster given by the parameter fCaloPosZLep.
- The calculated nu is checked to be smaller than the provided cut fMaxNu.
- The track has to pass the fiducial volume cuts to avoid the field clamps.
- The calculated W2 has to be larger than fMinW2, Q2 has to larger than fMinQ2 and y has to be inside the range of fYRange.
Once a track fullfills all of the above criteria and the corresponding particle has a charge equal to the charge of the beam lepton, the event is marked as a DIS event. In case of opposite charge, the event is marked as a charge symmetric background event. For the first track for which the above criterias are met, independent of a DIS or CSB event, the loop over all tracks ends and processing ends.
XML Parameters
<THAnalyzer class="uDSTdisSelect" name="name" path="path"> <THCutD name="fTargetMass" value="9.382723e-01">The mass of the target particle</THCutD> <THCutRangeD name="fVertZRange" min="-1.800000e+01" max="1.800000e+01">The allowed Z vertex range (ic)</THCutRangeD> <THCutD name="fMaxVertD" value="7.500000e-01">The maximum transverse vertex (ic)</THCutD> <THCutD name="fMinW2" value="4.000000e+00">The minimum W2 (ic)</THCutD> <THCutD name="fMinQ2" value="1.000000e+00">The minimum Q2 (ic)</THCutD> <THCutD name="fMaxNu" value="2.757000e+01">The maximum Nu (ic)</THCutD> <THCutRangeD name="fYRange" min="0.000000e+00" max="8.500000e-01">The allowed Y range (ic)</THCutRangeD> <THCutRangeD name="fPIDRange" min="1.000000e+00" max="8.000000e+01">The PID range for the lepton (ic)</THCutRangeD> <THCutI name="fTrig" value="21">The trigger number (set to -1 to disable check)</THCutI> <THCutD name="fCaloPosZLep" value="7.380000e+02">The calo Z position for the lepton shower</THCutD> <THCutD name="fMaxXCalo" value="1.750000e+02">The maximum X calo position (ic)</THCutD> <THCutRangeD name="fYCaloRange" min="3.000000e+01" max="1.080000e+02">The allowed Y calo position range (ic)</THCutRangeD> <THCutD name="fMaxXOff" value="3.100000e+01">The maximum X offset of tracked clusters (ic)</THCutD> <THCutD name="fMinYOff" value="7.000000e+00">The minimum Y offset of tracked clusters (ic)</THCutD> <THCutD name="fMaxYOff" value="5.400000e+01">The maximum Y offset of tracked clusters (ic)</THCutD> <THCutD name="fMaxXPos" value="1.000000e+02">The maximum X position of tracked clusters (ic)</THCutD> <THCutD name="fMaxYPos" value="5.400000e+01">The maximum Y position of tracked clusters (ic)</THCutD> <THCutB name="fUseTMC" value="false">Use the TMC correction</THCutB> <THCutBP name="fTMCStat" value="0x80000000">The transverse magnet correction status bits</THCutBP> </THAnalyzer>
uDSTdvcsSelectFS
Fingerprint: 3f6f72fa8a104f416053869752000ff3
CVS revision: v 1.7 2009-04-27 09:46:21
Authors: Dietmar Zeiler, Andreas Mussgiller
Crosschecked by: nobody
uDSTdvcsSelectFS is an event selection analysis modules (derived from uDSTVEventSelect) to select DVCS events from forward spectrometer information. The corresponding event info class is uDSTdvcsInfoFS.
Detailed Logic
For an event to be a DVCS exactly one track (g1Track) and one untracked cluster (smCluster) has to exists. In addition the following criteria have to be met:
- The event has to be a DIS event according to the child event selection class (derived from uDSTdisSelect). The actual class to be used for the DIS event select can be specified as an option in the constructor of the uDSTdvcsSelectFS module.
- The pulse in the preshower detector has to be larger than the cut fMinPulsPre.
- The energy of the photon in the calorimeter has to be larger than the cut fMinECalo.
- The absolute value of the x position of the cluster has to be smaller than the cut fMaxSMClusterX.
- The absolute value of the y position of the cluster has to be smaller than the cut fMaxSMClusterY and larger than the cut fMinSMClusterY.
- The calculated angle between the real and the virtual photon (theta_gamma*gamma) has to be larger than the cut fThetaGGMin and larger than the cut fThetaGGMax.
- Q2 (taken from the DIS selector) has to be smaller than the cut fMaxQ2.
- xB has to be smaller than the cut fMaxxB and larger the cut fMinxB.
- The absolute value of Tc (constrained T) has to be smaller then the cut fTcMax.
- The calculated squared missing mass has to be in the range of the cut fMx2Range.
If all requirements are met, the event is marked as a DVCS event.
XML Parameters
<THAnalyzer class="uDSTdvcsSelectFS" name="name" path="path"> <THCutD name="fMaxQ2" value="1.000000e+01">The maximum Q2 (inclusive)</THCutD> <THCutD name="fMinxB" value="3.000000e-02">The minimum xB (inclusive)</THCutD> <THCutD name="fMaxxB" value="3.500000e-01">The maximum xB (inclusive)</THCutD> <THCutD name="fMinPulsPre" value="1.000000e-03">The minimum preshower pulse (exclusive)</THCutD> <THCutD name="fMinECalo" value="5.000000e+00">The minimum calo energy (exclusive)</THCutD> <THCutD name="fCaloPosZGam" value="7.290000e+02">The cluster Z position in the calo (exclusive)</THCutD> <THCutD name="fMaxSMClusterX" value="1.250000e+02">The maximum SM cluster X (exclusive)</THCutD> <THCutD name="fMinSMClusterY" value="3.300000e+01">The minimum SM cluster Y (exclusive)</THCutD> <THCutD name="fMaxSMClusterY" value="1.050000e+02">The maximum SM cluster Y (exclusive)</THCutD> <THCutD name="fThetaGGMax" value="4.500000e-02">The maximum ThetaGG (exclusive)</THCutD> <THCutD name="fThetaGGMin" value="5.000000e-03">The minimum ThetaGG (exclusive)</THCutD> <THCutD name="fTcMax" value="7.000000e-01">The maximum tc (exclusive)</THCutD> <THCutRangeD name="fMx2Range" min="-1.000000e+01" max="4.000000e+01">Allowed Mx2 range</THCutRangeD> </THAnalyzer>
Extended uDST Modules
uDSTdisSelectLeading
Fingerprint: 883ae425a9fb725b1f790d3d80677b0e
CVS revision: v 1.3 2009-04-27 09:43:09
Authors: Andreas Mussgiller, Dietmar Zeiler
Crosschecked by: nobody
uDSTdisSelectLeading is an event selection analysis modules (derived from uDSTdisSelect) to select DIS events using the leading lepton. The corresponding event info class is uDSTdisInfo.
Detailed Logic
For each event that is processed the code loops over all g1Tracks in that event and tries to find the scattered beam lepton according to the following citeria:
- The track must be a long track by checking the iSelect field for bits 0x0100 or 0x0200.
- In case of real data the trigger mask (smTrack) is checked. The desired trigger mask can be set via the parameter fTrig in the XML file. For MC data the g1Track must have a corresponding g1MTrack.
- The particle is checked to be a lepton by requiring PID2+PID5 to be inside the range of the cut fPIDRange. For MC data this check is done via the associated g1MTracks Lund particle type.
- In case the use of the TMC corrections is switched on via the parameter fUseTMC, the z vertex as well as the transverse vertex are taken from the TMC correction columns in g1Track. The TMC corrected values are only used, if the TMC status bits (iTMCStat) correspond to the parameter fTMCStat provided in the XML file.
- The tracks z vertex and transverse vertex to be inside the cut fVertZRange and fMaxVertD.
- The cluster position in the calorimeter is checked to be inside the specified ranges. The absolute value of the x coordinate of the cluster has to be smaller than the cut fMaxXCalo, whereas the absolute value of the y coordinate of the cluster has to be inside the range of the cut fYCaloRange. The x and y coordinates are calculated using the x and y positions and slopes provided by smTrack taking into account the z position of the cluster given by the parameter fCaloPosZLep.
- The calculated nu is checked to be smaller than the provided cut fMaxNu.
- The track has to pass the fiducial volume cuts to avoid the field clamps.
- The calculated W2 has to be larger than fMinW2, Q2 has to larger than fMinQ2 and y has to be inside the range of fYRange.
For the track with the highest absolute momentum fullfilling all of the above criteria, the event is marked as a DIS event if the tracks charge is equal to the beam charge. In case the tracks charge and the charge of the beam lepton have opposite signs, the event is marked as a charge symmetric background event.
XML Parameters
<THAnalyzer class="uDSTdisSelectLeading" name="name" path="path"> <THCutD name="fTargetMass" value="9.382723e-01">The mass of the target particle</THCutD> <THCutRangeD name="fVertZRange" min="-1.800000e+01" max="1.800000e+01">The allowed Z vertex range (ic)</THCutRangeD> <THCutD name="fMaxVertD" value="7.500000e-01">The maximum transverse vertex (ic)</THCutD> <THCutD name="fMinW2" value="4.000000e+00">The minimum W2 (ic)</THCutD> <THCutD name="fMinQ2" value="1.000000e+00">The minimum Q2 (ic)</THCutD> <THCutD name="fMaxNu" value="2.757000e+01">The maximum Nu (ic)</THCutD> <THCutRangeD name="fYRange" min="0.000000e+00" max="8.500000e-01">The allowed Y range (ic)</THCutRangeD> <THCutRangeD name="fPIDRange" min="1.000000e+00" max="8.000000e+01">The PID range for the lepton (ic)</THCutRangeD> <THCutI name="fTrig" value="21">The trigger number (set to -1 to disable check)</THCutI> <THCutD name="fCaloPosZLep" value="7.380000e+02">The calo Z position for the lepton shower</THCutD> <THCutD name="fMaxXCalo" value="1.750000e+02">The maximum X calo position (ic)</THCutD> <THCutRangeD name="fYCaloRange" min="3.000000e+01" max="1.080000e+02">The allowed Y calo position range (ic)</THCutRangeD> <THCutD name="fMaxXOff" value="3.100000e+01">The maximum X offset of tracked clusters (ic)</THCutD> <THCutD name="fMinYOff" value="7.000000e+00">The minimum Y offset of tracked clusters (ic)</THCutD> <THCutD name="fMaxYOff" value="5.400000e+01">The maximum Y offset of tracked clusters (ic)</THCutD> <THCutD name="fMaxXPos" value="1.000000e+02">The maximum X position of tracked clusters (ic)</THCutD> <THCutD name="fMaxYPos" value="5.400000e+01">The maximum Y position of tracked clusters (ic)</THCutD> <THCutB name="fUseTMC" value="false">Use the TMC correction</THCutB> <THCutBP name="fTMCStat" value="0x80000000">The transverse magnet correction status bits</THCutBP> </THAnalyzer>
Utility uDST Modules
uDSTRDSiliconDQReader
Fingerprint: c7e983f544c2ba1a2c5bb728c20fc009
CVS revision: v 1.1 2009-08-25 21:02:24
Authors: Andreas Mussgiller
Crosschecked by: nobody
uDSTRDSiliconDQReader is a simple analysis modules (derived from uDSTVAnalyzer) that reads the
recoil silicon detector data quality bit patterns from file and writes them into the corresponding fields
of Tg1Quality. The update is done at the beginning of each burst and only for uDST versions prior to 06e1.
XML Parameters
<THAnalyzer class="uDSTRDSiliconDQReader" name="name" path="path"> <THCutTS name="fBasePath" string="/group02/rcoilgrp/DATA/silicon">The base path to the data quality files</THCutTS> </THAnalyzer>
Further Reading
- List of analysis modules with doxygen documentation
- HannaPlusPlusModuleGuidelines