Belle II Software development
CDCBadWireCollector.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 <calibration/CalibrationCollectorModule.h>
12#include <cdc/dataobjects/CDCHit.h>
13#include <mdst/dataobjects/Track.h>
14#include <mdst/dataobjects/TrackFitResult.h>
15#include <tracking/trackFindingCDC/eventdata/tracks/CDCTrack.h>
16#include <tracking/trackFindingCDC/rootification/StoreWrappedObjPtr.h>
17#include <tracking/trackFindingCDC/topology/CDCWire.h>
18#include <framework/datastore/StoreArray.h>
19#include <string>
20
21namespace Belle2 {
26 namespace CDC {
27
32
33 public:
38
43
47 void prepare() override;
51
52 void collect() override;
53
57 void finish() override;
58
59 private:
63 void buildEfficiencies(std::vector<unsigned short> wireHits, const Helix helixFit);
68 const Helix& helixFit) const;
69
74
75 std::string m_trackArrayName;
76 std::string m_cdcHitArrayName;
77 std::string m_cdcTrackVectorName = "CDCTrackVector";
79
80 std::string m_effTreeName;
81
82 double m_minimumPt = 0;
83 double m_minimumNDF = 0;
84 unsigned short wireID;
85 unsigned short layerID;
86 float z;
87 bool isFound;
88 };
89 }
91}
double m_minimumNDF
minimum NDF required for track
std::string m_effTreeName
Name of efficiency tree for the output file.
std::string m_cdcTrackVectorName
Belle2::CDCTrack vectorpointer name.
TrackFindingCDC::StoreWrappedObjPtr< std::vector< TrackFindingCDC::CDCTrack > > m_CDCTracks
CDC tracks.
StoreArray< TrackFitResult > m_TrackFitResults
Track fit results.
std::string m_cdcHitArrayName
Belle2::CDCHit StoreArray name.
unsigned short wireID
wireID for hit-level wire monitoring
void collect() override
Event action, collect information for calibration.
const TrackFindingCDC::CDCWire & getIntersectingWire(const B2Vector3D &xyz, const TrackFindingCDC::CDCWireLayer &layer, const Helix &helixFit) const
extrapolates the helix fit to a given layer and finds the wire which it would be hitting
void buildEfficiencies(std::vector< unsigned short > wireHits, const Helix helixFit)
Build efficiency.
std::string m_trackArrayName
Belle2::Track StoreArray name.
void prepare() override
Initializes the Module.
void finish() override
Termination action.
std::string m_trackFitResultArrayName
Belle2::TrackFitResult StoreArray name.
unsigned short layerID
layerID for hit-level wire monitoring
double m_minimumPt
minimum pt required for track
float z
z of hit fot hit-level wire monitoring
bool isFound
flag for a hit that has been found near a track as expected by extrapolation
StoreArray< CDCHit > m_CDCHits
CDC hits.
Helix parameter class.
Definition Helix.h:48
CalibrationCollectorModule()
Constructor. Sets the default prefix for calibration dataobjects.
Accessor to arrays stored in the data store.
Definition StoreArray.h:113
Class representing a sense wire layer in the central drift chamber.
Class representing a sense wire in the central drift chamber.
Definition CDCWire.h:58
This class is for convenience access and registration of objects, that are stored inside the StoreWra...
B2Vector3< double > B2Vector3D
typedef for common usage with double
Definition B2Vector3.h:516
Abstract base class for different kinds of events.