Belle II Software  release-08-01-10
PXDInterceptor.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/datastore/StoreArray.h>
12 #include <framework/datastore/RelationArray.h>
13 #include <tracking/dataobjects/PXDIntercept.h>
14 #include <tracking/dataobjects/RecoTrack.h>
15 #include <tracking/pxdDataReductionClasses/ROIGeometry.h>
16 #include <tracking/pxdDataReductionClasses/ROIinfo.h>
17 #include <genfit/KalmanFitter.h>
18 
19 
20 namespace Belle2 {
31 
32  public:
33 
36  PXDInterceptor(const ROIinfo* user_theROIinfo, double toleranceZ, double tolerancePhi);
37 
40  virtual ~PXDInterceptor();
41 
44  void fillInterceptList(StoreArray<PXDIntercept>* listToBeFilled,
45  const StoreArray<RecoTrack>& trackList,
46  RelationArray* recoTrackToPXDIntercepts);
47 
48  private:
49 
50  const float m_pxdLayerRadius[2] = {1.42854, 2.21218};
59  void appendIntercepts(StoreArray<PXDIntercept>* interceptList, std::list<ROIDetPlane> planeList, RecoTrack* recoTrack,
60  int recoTrackIndex, RelationArray* recoTrackToPXDIntercepts);
61 
62 
63  };
65 }
The PXDInterceptor class fills a StoreArray of PXDIntercepts that will be used to define the PXD ROIs...
ROIGeometry m_theROIGeometry
the geometry of the Region Of Interest
virtual ~PXDInterceptor()
Destructor.
void appendIntercepts(StoreArray< PXDIntercept > *interceptList, std::list< ROIDetPlane > planeList, RecoTrack *recoTrack, int recoTrackIndex, RelationArray *recoTrackToPXDIntercepts)
Append the PXDIntercept infos related to the track theTrack to the listToBeFilled.
PXDInterceptor(const ROIinfo *user_theROIinfo, double toleranceZ, double tolerancePhi)
Class Constructor.
genfit::KalmanFitter m_kalmanFilter
kalman filter object to fit the track
const float m_pxdLayerRadius[2]
mean PXD layer radius for both layers
ROIinfo m_theROIinfo
the ROI info structure
void fillInterceptList(StoreArray< PXDIntercept > *listToBeFilled, const StoreArray< RecoTrack > &trackList, RelationArray *recoTrackToPXDIntercepts)
Fill the list of PXD intecepts corresponding to the list of track candidates.
This class appends the PXDIntercept infos of a track to the list of intercepts.
Definition: ROIGeometry.h:23
This is the Reconstruction Event-Data Model Track.
Definition: RecoTrack.h:79
Low-level class to create/modify relations between StoreArrays.
Definition: RelationArray.h:62
Accessor to arrays stored in the data store.
Definition: StoreArray.h:113
Simple Kalman filter implementation.
Definition: KalmanFitter.h:40
Abstract base class for different kinds of events.
ROIinfo contains the parameters that can be changed by the user in the python script.
Definition: ROIinfo.h:15