Belle II Software  release-06-01-15
ECLTrackBremFinderModule.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 
9 #pragma once
10 
11 #include <framework/core/Module.h>
12 #include <framework/datastore/StoreArray.h>
13 #include <framework/datastore/StoreObjPtr.h>
14 #include <framework/core/ModuleParam.templateDetails.h>
15 
16 namespace Belle2 {
21  class ECLCluster;
22  class Track;
23  class EventMetaData;
24  class RecoTrack;
25  class BremHit;
26 
35  public:
38 
40  virtual ~ECLTrackBremFinderModule() = default;
41 
47  virtual void initialize() override;
48 
53  virtual void event() override;
54 
55  private:
70 
76  std::vector<float> m_virtualHitRadii = {1.05, 16.0};
77 
81  double m_relativeClusterEnergy = 0.02f;
82 
86  std::tuple<unsigned int, unsigned int> m_requestedNumberOfCDCHits = {1, 100};
87 
92 
96  float m_clusterDistanceCut = 0.05;
97 
102 
107 
112  };
113 
115 } //Belle2
Module to assign ECL Clusters resulting from Bremsstrahlung to the primary electron track.
virtual void initialize() override
Use this to initialize resources or memory your module needs.
std::vector< float > m_virtualHitRadii
Radii where virtual hits for the extrapolation will be generated The default values are taken from br...
virtual void event() override
Called once for each event.
float m_electronProbabilityCut
Cut on the electron probability (from pid) of track.
StoreArray< BremHit > m_bremHits
StoreArray BremHits.
virtual ~ECLTrackBremFinderModule()=default
Use to clean up anything you created in the constructor.
std::tuple< unsigned int, unsigned int > m_requestedNumberOfCDCHits
Minimal/Maximal number of CDC hits, the track has to possess to be considered for bremsstrahlung find...
double m_clusterAcceptanceFactor
Factor which is multiplied onto the cluster position error to check for matches.
StoreObjPtr< EventMetaData > m_evtPtr
StoreObjPtr EventMetaData.
std::string m_param_tracksStoreArrayName
StoreArray name of the Tracks for brem matching.
StoreArray< Track > m_tracks
StoreArray Track.
std::string m_param_recoTracksStoreArrayName
StoreArray name of the RecoTracks for brem matching.
StoreArray< ECLCluster > m_eclClusters
StoreArray ECLCluster.
std::string m_param_eclClustersStoreArrayName
StoreArray name of the ECLClusters for brem matching.
StoreArray< RecoTrack > m_recoTracks
StoreArray RecoTrack.
double m_relativeClusterEnergy
Fraction of the tracks energy the ECL cluster has to possess to be considered for bremsstrahlung find...
ECLTrackBremFinderModule()
Constructor, for setting module description and parameters.
float m_clusterDistanceCut
Cut on the distance between the cluster position angle and the extrapolation angle.
Base class for Modules.
Definition: Module.h:72
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:95
Abstract base class for different kinds of events.