Belle II Software  release-05-02-19
FilterCalculator.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 201 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Nils Braun, Chris Hearty *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 #pragma once
11 
12 #include <hlt/softwaretrigger/core/SoftwareTriggerObject.h>
13 #include <hlt/softwaretrigger/calculations/SoftwareTriggerCalculation.h>
14 #include <framework/datastore/StoreArray.h>
15 #include <mdst/dataobjects/Track.h>
16 #include <mdst/dataobjects/ECLCluster.h>
17 #include <mdst/dataobjects/TRGSummary.h>
18 #include <trg/cdc/Unpacker.h>
19 #include <framework/gearbox/Unit.h>
20 
21 namespace Belle2::SoftwareTrigger {
32  class FilterCalculator : public SoftwareTriggerCalculation {
33  public:
36 
38  void requireStoreArrays() override;
39 
41  void doCalculation(SoftwareTriggerObject& calculationResult) override;
42 
43  private:
45  StoreArray<Track> m_tracks;
47  StoreArray<ECLCluster> m_eclClusters;
49  StoreObjPtr<TRGSummary> m_l1Trigger;
51  StoreArray<CDCTriggerUnpacker::NNBitStream> m_bitsNN;
52 
54  double m_looseTrkZ0 = 10 * Unit::cm;
56  double m_tightTrkZ0 = 2 * Unit::cm;
58  double m_E2min = 0.2;
60  double m_E0min = 0.3;
62  double m_Ehigh = 2;
64  double m_EminLab = 0.18;
66  double m_EminLab4Cluster = 0.3;
68  double m_EminLab3Cluster = 0.5;
70  double m_EsinglePhoton = 1;
72  double m_reducedEsinglePhoton = 0.5;
74  double m_cosmicMinPt = 0.5 * Unit::GeV;
78  double m_goodMagneticRegionZ0 = 57.;
80  double m_goodMagneticRegionD0 = 26.5;
81  };
82 }
Belle2::Unit::cm
static const double cm
Standard units with the value = 1.
Definition: Unit.h:57
Belle2::SoftwareTrigger::FilterCalculator::m_goodMagneticRegionD0
double m_goodMagneticRegionD0
minimum d0 for well understood magnetic field, if z0 is large (cm)
Definition: FilterCalculator.h:96
Belle2::SoftwareTrigger::FilterCalculator::requireStoreArrays
void requireStoreArrays() override
Require the particle list. We do not need more here.
Definition: FilterCalculator.cc:70
Belle2::SoftwareTrigger::FilterCalculator::m_tightTrkZ0
double m_tightTrkZ0
which Z0 defines a tight track
Definition: FilterCalculator.h:72
Belle2::SoftwareTrigger::FilterCalculator::FilterCalculator
FilterCalculator()
Set the default names for the store object particle lists.
Definition: FilterCalculator.cc:65
Belle2::SoftwareTrigger::FilterCalculator::m_EminLab4Cluster
double m_EminLab4Cluster
which lab energy defines nE300Lab
Definition: FilterCalculator.h:82
Belle2::SoftwareTrigger::FilterCalculator::m_cosmicMaxClusterEnergy
double m_cosmicMaxClusterEnergy
which LAB cluster energy vetoes a cosmic candidate
Definition: FilterCalculator.h:92
Belle2::SoftwareTrigger::FilterCalculator::m_looseTrkZ0
double m_looseTrkZ0
which Z0 defines a loose track
Definition: FilterCalculator.h:70
Belle2::SoftwareTrigger::FilterCalculator::m_E0min
double m_E0min
which CMS energy defines nEmedium
Definition: FilterCalculator.h:76
Belle2::SoftwareTrigger::FilterCalculator::m_EsinglePhoton
double m_EsinglePhoton
which CMS energy defines nEsingleClust
Definition: FilterCalculator.h:86
Belle2::SoftwareTrigger::FilterCalculator::m_l1Trigger
StoreObjPtr< TRGSummary > m_l1Trigger
Store Object with the trigger result.
Definition: FilterCalculator.h:65
Belle2::SoftwareTrigger::FilterCalculator::m_Ehigh
double m_Ehigh
which CMS energy defines nEhigh
Definition: FilterCalculator.h:78
Belle2::SoftwareTrigger::FilterCalculator::doCalculation
void doCalculation(SoftwareTriggerObject &calculationResult) override
Actually write out the variables into the map.
Definition: FilterCalculator.cc:78
Belle2::SoftwareTrigger::FilterCalculator::m_EminLab3Cluster
double m_EminLab3Cluster
which lab energy defines nE500Lab
Definition: FilterCalculator.h:84
Belle2::SoftwareTrigger::FilterCalculator::m_bitsNN
StoreArray< CDCTriggerUnpacker::NNBitStream > m_bitsNN
Store Object with the trigger NN bits.
Definition: FilterCalculator.h:67
Belle2::SoftwareTrigger::FilterCalculator::m_reducedEsinglePhoton
double m_reducedEsinglePhoton
which CMS energy defines nReducedEsingle clusters
Definition: FilterCalculator.h:88
Belle2::SoftwareTrigger::FilterCalculator::m_cosmicMinPt
double m_cosmicMinPt
which LAB pt defines a cosmic
Definition: FilterCalculator.h:90
Belle2::Unit::GeV
static const double GeV
Standard of [energy, momentum, mass].
Definition: Unit.h:61
Belle2::SoftwareTrigger::FilterCalculator::m_eclClusters
StoreArray< ECLCluster > m_eclClusters
Store Array of the ecl clusters to be used.
Definition: FilterCalculator.h:63
Belle2::SoftwareTrigger::FilterCalculator::m_E2min
double m_E2min
which CMS energy defines nElow
Definition: FilterCalculator.h:74
Belle2::SoftwareTrigger::FilterCalculator::m_EminLab
double m_EminLab
which lab energy defines nE180Lab
Definition: FilterCalculator.h:80
Belle2::SoftwareTrigger::FilterCalculator::m_tracks
StoreArray< Track > m_tracks
Store Array of the tracks to be used.
Definition: FilterCalculator.h:61
Belle2::SoftwareTrigger::FilterCalculator::m_goodMagneticRegionZ0
double m_goodMagneticRegionZ0
maximum z0 for well understood magnetic field (cm)
Definition: FilterCalculator.h:94