Belle II Software  release-05-02-19
ECLClusterPropertiesModule.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2017 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Frank Meier *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 
11 #pragma once
12 
13 #include <ecl/dataobjects/ECLCalDigit.h>
14 #include <ecl/dataobjects/ECLShower.h>
15 #include <framework/core/Module.h>
16 #include <framework/datastore/StoreArray.h>
17 #include <mdst/dataobjects/ECLCluster.h>
18 #include <mdst/dataobjects/Track.h>
19 #include <tracking/dataobjects/ExtHit.h>
20 
21 namespace Belle2 {
35  class ECLClusterPropertiesModule : public Module {
36 
37  public:
38 
43 
46 
48  virtual void initialize() override;
49 
51  virtual void event() override;
52 
53 
54  private:
55 
57  double computeTrkMinDistance(const ECLShower&, StoreArray<Track>&) const;
58 
71  void computeDepth(const ECLShower& shower, double& lTrk, double& lShower) const;
72 
73  // Required input
80  std::string m_trackClusterRelationName;
82  };
84 }
Belle2::ECLClusterPropertiesModule::event
virtual void event() override
Event loop.
Definition: ECLClusterPropertiesModule.cc:49
Belle2::ECLClusterPropertiesModule::computeTrkMinDistance
double computeTrkMinDistance(const ECLShower &, StoreArray< Track > &) const
Minimal distance between track and shower.
Definition: ECLClusterPropertiesModule.cc:74
Belle2::ECLClusterPropertiesModule::ECLClusterPropertiesModule
ECLClusterPropertiesModule()
Constructor: Sets the description, the properties and the parameters of the module.
Definition: ECLClusterPropertiesModule.cc:26
Belle2::ECLClusterPropertiesModule::initialize
virtual void initialize() override
Initialize the required input arrays.
Definition: ECLClusterPropertiesModule.cc:40
Belle2::ECLClusterPropertiesModule::m_trackClusterRelationName
std::string m_trackClusterRelationName
name of relation array between tracks and ECL clusters
Definition: ECLClusterPropertiesModule.h:88
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::ECLClusterPropertiesModule::m_tracks
StoreArray< Track > m_tracks
Required input array of Tracks.
Definition: ECLClusterPropertiesModule.h:83
Belle2::ECLClusterPropertiesModule::m_eclClusters
StoreArray< ECLCluster > m_eclClusters
Required input array of ECLClusters.
Definition: ECLClusterPropertiesModule.h:84
Belle2::ECLClusterPropertiesModule::m_eclCalDigits
StoreArray< ECLCalDigit > m_eclCalDigits
Required input array of ECLCalDigits.
Definition: ECLClusterPropertiesModule.h:86
Belle2::ECLClusterPropertiesModule::~ECLClusterPropertiesModule
virtual ~ECLClusterPropertiesModule()
Destructor.
Definition: ECLClusterPropertiesModule.cc:36
Belle2::StoreArray
Accessor to arrays stored in the data store.
Definition: ECLMatchingPerformanceExpertModule.h:33
Belle2::ECLClusterPropertiesModule::m_extHits
StoreArray< ExtHit > m_extHits
Required input array of ExtHits.
Definition: ECLClusterPropertiesModule.h:82
Belle2::ECLClusterPropertiesModule::m_eclShowers
StoreArray< ECLShower > m_eclShowers
Required input array of ECLShowers.
Definition: ECLClusterPropertiesModule.h:85
Belle2::ECLClusterPropertiesModule::computeDepth
void computeDepth(const ECLShower &shower, double &lTrk, double &lShower) const
Computation of depths / distances.
Definition: ECLClusterPropertiesModule.cc:96
Belle2::ECLShower
Class to store ECL Showers.
Definition: ECLShower.h:42