Belle II Software development
FilterCalculator.h
1/**************************************************************************
2 * basf2 (Belle II Analysis Software Framework) *
3 * Author: The Belle II Collaboration *
4 * *
5 * See git log for contributors and copyright holders. *
6 * This file is licensed under LGPL-3.0, see LICENSE.md. *
7 **************************************************************************/
8#pragma once
9
10#include <hlt/softwaretrigger/core/SoftwareTriggerObject.h>
11#include <hlt/softwaretrigger/calculations/SoftwareTriggerCalculation.h>
12#include <framework/datastore/StoreArray.h>
13#include <mdst/dataobjects/Track.h>
14#include <mdst/dataobjects/ECLCluster.h>
15#include <mdst/dataobjects/TRGSummary.h>
16#include <trg/cdc/Unpacker.h>
17#include <framework/gearbox/Unit.h>
18
19namespace Belle2::SoftwareTrigger {
31 public:
34
36 void requireStoreArrays() override;
37
39 void doCalculation(SoftwareTriggerObject& calculationResult) override;
40
41 private:
50
52 double m_looseTrkZ0 = 10 * Unit::cm;
54 double m_tightTrkZ0 = 2 * Unit::cm;
56 double m_E2min = 0.2;
58 double m_E0min = 0.3;
60 double m_Ehigh = 2;
62 double m_EminLab = 0.18;
64 double m_EminLab4Cluster = 0.3;
66 double m_EminLab3Cluster = 0.5;
68 double m_EsinglePhoton = 1;
72 double m_cosmicMinPt = 0.5 * Unit::GeV;
79 };
80}
Implementation of a calculator used in the SoftwareTriggerModule to fill a SoftwareTriggerObject for ...
double m_EminLab
which lab energy defines nE180Lab
double m_reducedEsinglePhoton
which CMS energy defines nReducedEsingle clusters
StoreObjPtr< TRGSummary > m_l1Trigger
Store Object with the trigger result.
double m_E0min
which CMS energy defines nEmedium
void requireStoreArrays() override
Require the particle list. We do not need more here.
void doCalculation(SoftwareTriggerObject &calculationResult) override
Actually write out the variables into the map.
double m_goodMagneticRegionZ0
maximum z0 for well understood magnetic field (cm)
double m_cosmicMinPt
which LAB pt defines a cosmic
double m_EsinglePhoton
which CMS energy defines nEsingleClust
double m_E2min
which CMS energy defines nElow
double m_tightTrkZ0
which Z0 defines a tight track
StoreArray< Track > m_tracks
Store Array of the tracks to be used.
double m_EminLab3Cluster
which lab energy defines nE500Lab
double m_Ehigh
which CMS energy defines nEhigh
StoreArray< ECLCluster > m_eclClusters
Store Array of the ecl clusters to be used.
double m_EminLab4Cluster
which lab energy defines nE300Lab
StoreArray< CDCTriggerUnpacker::NNBitStream > m_bitsNN
Store Object with the trigger NN bits.
FilterCalculator()
Set the default names for the store object particle lists.
double m_cosmicMaxClusterEnergy
which LAB cluster energy vetoes a cosmic candidate
double m_goodMagneticRegionD0
minimum d0 for well understood magnetic field, if z0 is large (cm)
double m_looseTrkZ0
which Z0 defines a loose track
Base class for all calculation algorithms to be used when calculating the variables needed in the Sof...
Accessor to arrays stored in the data store.
Definition: StoreArray.h:113
Type-safe access to single objects in the data store.
Definition: StoreObjPtr.h:96
static const double cm
Standard units with the value = 1.
Definition: Unit.h:47
static const double GeV
Standard of [energy, momentum, mass].
Definition: Unit.h:51