Trigger and Online filter related algorithms and methods. More...
#include <PaTrigger.h>
Public Member Functions | |
| bool | OnlineFilter (const PaEvent &e, int tmask=-1, bool force=false) const |
| implements the online filter for RD and MC of 2004 hadron run, returns true if event is accepted | |
| bool | MultiplicityCounter (const PaEvent &e) const |
| implements the 2004 Multiplicity counter for Monte Carlo data, returns true if event is accepted | |
| bool | BeamKiller2of3 (const PaEvent &e) const |
| implements the 2004 Beamkiller-Veto for Monte Carlo data, returns true if event is accepted | |
| bool | HCal2 (const PaEvent &e) const |
| implements the 2004 HCal2 Trigger, returns true if event is accepted | |
Static Public Member Functions | |
| static PaTrigger * | Instance () |
| returns pointer to global PaTrigger object, which is automatically spawned on access of this function | |
Trigger and Online filter related algorithms and methods.
| bool PaTrigger::BeamKiller2of3 | ( | const PaEvent & | e | ) | const |
implements the 2004 Beamkiller-Veto for Monte Carlo data, returns true if event is accepted
Uses MChits
Note: Positions (6.0,0,2268.0)cm and radius r=2.5cm hardcoded Note: Positions (13.0,0,2934.0)cm and radius r=2.5cm hardcoded Note: Positions (16.5,0,3274.0)cm and radius r=2.5cm hardcoded
References PaHit::DetRef(), PaHit::IsSpecialHit(), and PaDetect::Name().
| bool PaTrigger::HCal2 | ( | const PaEvent & | e | ) | const |
implements the 2004 HCal2 Trigger, returns true if event is accepted
Note: Threshold 6GeV hardcoded
References PaSetup::Calorimeter(), PaCaloClus::E(), PaCalorimeter::IsMyCluster(), PaEvent::NCaloClus(), PaSetup::Ref(), and PaEvent::vCaloClus().
| static PaTrigger* PaTrigger::Instance | ( | ) | [inline, static] |
| bool PaTrigger::MultiplicityCounter | ( | const PaEvent & | e | ) | const |
implements the 2004 Multiplicity counter for Monte Carlo data, returns true if event is accepted
Note: Position (0,0,-247.0)cm and radius r=2.5cm hardcoded
!! z-coordinate hardcoded here!
!! radius hardcoded here!
References PaMCvertex::iMCtrack(), PaMCvertex::IsPrimary(), PaMCvertex::NMCtrack(), PaEvent::NMCvertex(), PaMCtrack::ParInVtx(), PaEvent::vMCtrack(), and PaEvent::vMCvertex().
| bool PaTrigger::OnlineFilter | ( | const PaEvent & | e, | |
| int | tmask = -1, |
|||
| bool | force = false | |||
| ) | const |
implements the online filter for RD and MC of 2004 hadron run, returns true if event is accepted
Real Data: For runs which already have been filtered during data taking, the monitoring sample (3.3% of data are written to tape even if the filter would reject it) is removed to homogenise the data. For runs which were taken in "mark-only" mode, the original filter decision (extracted from the event data) is applied. For all other runs, the filter decision is approximated using a similar algorithm as in the online filter.
Monte Carlo: The filter decision is approximated using a similar algorithm as in the online filter.
Rationale: All 2004 hadron analysis of Diff1 trigger data should use this function both for RD and MC to achieve best conformance between RD and MC.
The implementation is based on a function kindly provided by Quirin Weitzel.
| e | the event | |
| tmask | provides a trigger mask that determines whether online filter cut is applied or not. This is mainly useful for MC data (which per se doesn't have a trigger mask). The default (-1) is to use the trigger mask from the event data. | |
| force | enforce simulation, even if the run contains original online filter information that could be used, and even if the run does not belong to the 2004 hadron pilot run (both conditions apply to RD only) |
References PaMCtrack::HitMap(), PaTrack::HitsFound(), PaEvent::IsMC(), PaEvent::NMCtrack(), PaEvent::NTrack(), PaEvent::OnlFltAccepted(), PaEvent::RunNum(), PaEvent::TrigMask(), PaEvent::vMCtrack(), and PaEvent::vTrack().
1.6.2