Belle II Software  release-05-02-19
AsicBackgroundLibraryCreator.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2019 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Sasha Glazov, Tracking group *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 #pragma once
11 #include <vector>
12 #include <string>
13 #include <map>
14 #include <tracking/trackFindingCDC/findlets/base/Findlet.h>
15 #include <framework/database/DBArray.h>
16 #include <cdc/dbobjects/CDCChannelMap.h>
17 #include <tracking/trackFindingCDC/mva/Recorder.h>
18 #include <cdc/dbobjects/CDCCrossTalkClasses.h>
19 
20 namespace Belle2 {
26  namespace TrackFindingCDC {
27  class CDCWireHit;
28  class CDCTrack;
29 
31  class AsicBackgroundLibraryCreator : public Findlet<const CDCWireHit, const CDCTrack> {
32  private:
34  using Super = Findlet<const CDCWireHit, const CDCTrack >;
35 
36  public:
38  AsicBackgroundLibraryCreator() = default;
39 
41  void initialize() final;
42 
44  void beginRun() final;
45 
47  std::string getDescription() final;
48 
50  void exposeParameters(ModuleParamList* moduleParamList, const std::string& prefix) final;
51 
53  void apply(const std::vector<CDCWireHit>& wireHits, const std::vector<CDCTrack>& tracks) final;
54 
56  void terminate() final;
57  private:
58 
60  void selectAsic(const std::vector<const CDCWireHit*>& wireHits, const std::vector<CDCTrack>& tracks);
64  std::unique_ptr<DBArray<CDCChannelMap> > m_channelMapFromDB;
65 
67  std::map<int, std::pair<int, int> > m_map;
68 
70  std::string m_library_name{"CDCAsicLibrary.root"};
71 
73  size_t m_minimal_hit_number{1};
74 
76  double m_distance_signal_max{0.25};
77 
79  double m_distance_background_min{0.5};
80 
82  bool m_use_axial_hits_only{false};
83 
85  bool m_write_extra_vars{false};
86 
87 
89  size_t m_minimal_hits_on_track{40};
90 
92  std::unique_ptr<Recorder> m_recorder;
93 
94  // Variables to be stored:
95 
98 
100  UChar_t m_board{0};
101 
103  UChar_t m_channel{0};
104 
106  UChar_t m_n_hit{0};
107 
108  // Store also distance to the signal as well as minimal distance to bg
109 
111  float m_dist_signal{0};
112 
114  float m_dist_bg{0};
115 
117  Short_t m_adc_sig{0};
118 
120  Short_t m_adc_max_bg{0};
121 
123  UShort_t m_n_hit_track{0};
124 
125  };
126  }
128 }
Belle2::TrackFindingCDC::AsicBackgroundLibraryCreator::m_minimal_hits_on_track
size_t m_minimal_hits_on_track
min. number of hits on the track
Definition: AsicBackgroundLibraryCreator.h:97
Belle2::TrackFindingCDC::AsicBackgroundLibraryCreator::Super
Findlet< const CDCWireHit, const CDCTrack > Super
Type of the base class.
Definition: AsicBackgroundLibraryCreator.h:42
Belle2::CDCChannelMap
Database object of CDC channel map.
Definition: CDCChannelMap.h:32
Belle2::TrackFindingCDC::AsicBackgroundLibraryCreator::exposeParameters
void exposeParameters(ModuleParamList *moduleParamList, const std::string &prefix) final
Expose the parameters to a module.
Definition: AsicBackgroundLibraryCreator.cc:131
Belle2::TrackFindingCDC::CDCTrack
Class representing a sequence of three dimensional reconstructed hits.
Definition: CDCTrack.h:51
Belle2::TrackFindingCDC::AsicBackgroundLibraryCreator::m_n_hit_track
UShort_t m_n_hit_track
Number of hits on the track.
Definition: AsicBackgroundLibraryCreator.h:131
Belle2::TrackFindingCDC::AsicBackgroundLibraryCreator::m_adc_max_bg
Short_t m_adc_max_bg
Max. ADC background.
Definition: AsicBackgroundLibraryCreator.h:128
Belle2::TrackFindingCDC::AsicBackgroundLibraryCreator::m_library_name
std::string m_library_name
output library name
Definition: AsicBackgroundLibraryCreator.h:78
Belle2::TrackFindingCDC::AsicBackgroundLibraryCreator::m_distance_background_min
double m_distance_background_min
minimal distance from track to background hit
Definition: AsicBackgroundLibraryCreator.h:87
Belle2::TrackFindingCDC::AsicBackgroundLibraryCreator::m_distance_signal_max
double m_distance_signal_max
maximal distance from track to signal hit
Definition: AsicBackgroundLibraryCreator.h:84
Belle2::DBArray
Class for accessing arrays of objects in the database.
Definition: DBArray.h:36
Belle2::TrackFindingCDC::AsicBackgroundLibraryCreator::m_channelMapFromDB
std::unique_ptr< DBArray< CDCChannelMap > > m_channelMapFromDB
Channel map retrieved from DB.
Definition: AsicBackgroundLibraryCreator.h:72
Belle2::TrackFindingCDC::AsicBackgroundLibraryCreator::m_asic_info
asicChannel m_asic_info[8]
all 8 channels
Definition: AsicBackgroundLibraryCreator.h:105
Belle2::TrackFindingCDC::AsicBackgroundLibraryCreator::beginRun
void beginRun() final
Reload channel map if needed.
Definition: AsicBackgroundLibraryCreator.cc:92
Belle2::TrackFindingCDC::AsicBackgroundLibraryCreator::m_channel
UChar_t m_channel
signal channelID
Definition: AsicBackgroundLibraryCreator.h:111
Belle2::TrackFindingCDC::AsicBackgroundLibraryCreator::m_adc_sig
Short_t m_adc_sig
ADC of the signal.
Definition: AsicBackgroundLibraryCreator.h:125
Belle2::TrackFindingCDC::AsicBackgroundLibraryCreator::AsicBackgroundLibraryCreator
AsicBackgroundLibraryCreator()=default
Default constructor.
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::asicChannel
record to be used to store ASIC info
Definition: CDCCrossTalkClasses.h:23
Belle2::TrackFindingCDC::AsicBackgroundLibraryCreator::m_write_extra_vars
bool m_write_extra_vars
extra vars to the library
Definition: AsicBackgroundLibraryCreator.h:93
Belle2::TrackFindingCDC::AsicBackgroundLibraryCreator::m_dist_bg
float m_dist_bg
min. distance to non-linked hits
Definition: AsicBackgroundLibraryCreator.h:122
Belle2::TrackFindingCDC::AsicBackgroundLibraryCreator::terminate
void terminate() final
write out the library
Definition: AsicBackgroundLibraryCreator.cc:174
Belle2::TrackFindingCDC::AsicBackgroundLibraryCreator::m_use_axial_hits_only
bool m_use_axial_hits_only
use axial layers only
Definition: AsicBackgroundLibraryCreator.h:90
Belle2::TrackFindingCDC::AsicBackgroundLibraryCreator::m_recorder
std::unique_ptr< Recorder > m_recorder
Recorder for the root output.
Definition: AsicBackgroundLibraryCreator.h:100
Belle2::TrackFindingCDC::AsicBackgroundLibraryCreator::m_n_hit
UChar_t m_n_hit
For debuging, store also number of channels with hits.
Definition: AsicBackgroundLibraryCreator.h:114
Belle2::TrackFindingCDC::AsicBackgroundLibraryCreator::m_dist_signal
float m_dist_signal
Distance to signal hit.
Definition: AsicBackgroundLibraryCreator.h:119
Belle2::TrackFindingCDC::AsicBackgroundLibraryCreator::m_board
UChar_t m_board
signal boardID
Definition: AsicBackgroundLibraryCreator.h:108
Belle2::TrackFindingCDC::AsicBackgroundLibraryCreator::selectAsic
void selectAsic(const std::vector< const CDCWireHit * > &wireHits, const std::vector< CDCTrack > &tracks)
Algorithm to select suitable ASIC for library creation.
Definition: AsicBackgroundLibraryCreator.cc:180
Belle2::TrackFindingCDC::AsicBackgroundLibraryCreator::getDescription
std::string getDescription() final
Short description of the findlet.
Definition: AsicBackgroundLibraryCreator.cc:107
Belle2::TrackFindingCDC::AsicBackgroundLibraryCreator::m_map
std::map< int, std::pair< int, int > > m_map
map from ewire to board/channel ID
Definition: AsicBackgroundLibraryCreator.h:75
Belle2::TrackFindingCDC::CDCWireHit
Class representing a hit wire in the central drift chamber.
Definition: CDCWireHit.h:65
Belle2::ModuleParamList
The Module parameter list class.
Definition: ModuleParamList.h:46
Belle2::TrackFindingCDC::AsicBackgroundLibraryCreator::m_minimal_hit_number
size_t m_minimal_hit_number
min. number of hits in ASIC for background check
Definition: AsicBackgroundLibraryCreator.h:81
Belle2::TrackFindingCDC::AsicBackgroundLibraryCreator::apply
void apply(const std::vector< CDCWireHit > &wireHits, const std::vector< CDCTrack > &tracks) final
Main algorithm marking hit as background.
Definition: AsicBackgroundLibraryCreator.cc:112
Belle2::TrackFindingCDC::AsicBackgroundLibraryCreator::initialize
void initialize() final
Access database here, open library for writing:
Definition: AsicBackgroundLibraryCreator.cc:58