 |
Belle II Software
release-05-02-19
|
14 #include <klm/dataobjects/bklm/BKLMHit2d.h>
15 #include <klm/dataobjects/bklm/BKLMTrack.h>
16 #include <klm/bklm/geometry/GeometryPar.h>
19 #include <framework/core/Module.h>
20 #include <framework/datastore/StoreArray.h>
21 #include <tracking/dataobjects/RecoTrack.h>
24 #include <TEfficiency.h>
39 class BKLMTrackingModule:
public Module {
56 virtual void event()
override;
59 virtual void endRun()
override;
137 void runTracking(
int mode,
int section,
int sector,
int layer);
bool isLayerUnderStudy(int section, int iSector, int iLayer, BKLMHit2d *hit)
judge whether the current layer is understudy
TH2F * m_effiYZ
Efficieny at global position Y vs Z.
int m_runTotalEventsWithTracks
total number of processed events in the run with at lease one BKLMTrack
double distanceToHit(BKLMTrack *track, BKLMHit2d *hit, double &error, double &sigma)
calculate distance from track to hit
TH1F * m_pass[2][8]
Numerator of each layer.
virtual void beginRun() override
begin run stuff
std::vector< int > m_runNumber
run number
BKLMTrackingModule()
Constructor.
bool m_globalFit
do the BKLMTrack fitting in global system (multi-sectors track) or local system (sector by sector)
bklm::GeometryPar * m_GeoPar
bklm GeometryPar
TH2F * m_effiYX
Efficieny at global position Y vs X.
std::vector< int > m_totalEventsWithTracks
total number of processed events with at least one BKLMTrack
bool isSectorUnderStudy(int section, int iSector, BKLMHit2d *hit)
judge whether the hits come from the sctor understudy
bool sameSector(BKLMHit2d *hit1, BKLMHit2d *hit2)
Judge if two hits come from the same sector.
TH2F * m_totalYZ
total event at global position Y vs Z
StoreArray< BKLMHit2d > hits2D
BKLMHit2d StoreArray.
StoreArray< RecoTrack > recoTracks
RecoTrack StoreArray.
int m_runTotalEvents
total number of processed events in the run
Provides BKLM geometry parameters for simulation, reconstruction etc (from Gearbox or DataBase)
This is the Reconstruction Event-Data Model Track.
TH1F * m_total[2][8]
Denominator of each layer.
Abstract base class for different kinds of events.
std::vector< int > m_totalEvents
total number of processed events
TFile * m_file
TFile that store efficieny plots.
double m_maxAngleRequired
angle required between RecoTrack and BKLMTrack, if openangle is larger than m_maxAngleRequired,...
void runTracking(int mode, int section, int sector, int layer)
run the track finding and fitting
static bool sortByLayer(BKLMHit2d *hit1, BKLMHit2d *hit2)
my defined sort function using layer number
bool m_studyEffi
option for efficieny study mode, in this mode, the layer under study should not be used in tracking
Store one BKLM Track as a ROOT object.
StoreArray< BKLMTrack > m_storeTracks
BKLMTrack StoreArray.
void generateEffi(int section, int sector, int layer)
calculate efficiency
virtual void initialize() override
Initialize at start of job.
StoreArray< RecoHitInformation > recoHitInformation
RecoHitInformation StoreArray.
virtual void event() override
Unpack one event and create digits.
virtual void endRun() override
end run stuff
virtual ~BKLMTrackingModule()
Destructor.
bool findClosestRecoTrack(BKLMTrack *bklmTrk, RecoTrack *&closestTrack)
find the closest RecoTrack, match BKLMTrack to RecoTrack, if the matched RecoTrack is found,...
Accessor to arrays stored in the data store.
std::string m_outPath
output file name containing efficiencies plots
TEfficiency * m_effiVsLayer[2][8]
Efficieny of each layer.
TH2F * m_passYX
passed event at global position Y vs X
TH2F * m_passYZ
passed event at global position Y vs Z
bool m_MatchToRecoTrack
whether match BKLMTrack to RecoTrack
TH2F * m_totalYX
total event at global position Y vs X
Store one BKLM strip hit as a ROOT object.
virtual void terminate() override
Terminate at the end of job.