Belle II Software prerelease-11-00-00a
TOPBackSplashTimingModule.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#include <framework/core/Module.h>
11#include <framework/datastore/StoreArray.h>
12#include <mdst/dataobjects/ECLCluster.h>
13#include <mdst/dataobjects/Track.h>
14#include <top/dataobjects/TOPBackSplashFitResult.h>
15#include <top/dataobjects/TOPDigit.h>
16
17#include <RooAbsPdf.h>
18#include <RooRealVar.h>
19#include <RooDataSet.h>
20#include <RooFitResult.h>
21#include <RooWorkspace.h>
22
23namespace Belle2 {
37
38 public:
43
48 void initialize() override;
49
53 void event() override;
54
55 private:
59 void prepareFitModels();
60
66 int getModuleFromPhi(double);
67
77 TOPBackSplashFitResult* fitTimingDigits(int, std::vector<const TOPDigit*>&, double, double, int);
78
90 void makePlot(double, double, int, RooAbsPdf*, RooRealVar*, RooDataSet, RooFitResult*, int);
91
92
94 bool m_saveFits = false;
95
97 double m_minClusterE = 0.5;
98
101
103 double m_minClusterNHits = 10.0;
104
107
110
111
114
117
120
123
125 std::array<std::array<double, 11>, 15> m_fitparams;
126
128 std::vector<RooWorkspace> m_wss;
129 };
130
132} //end namespace Belle2
Module()
Constructor.
Definition Module.cc:30
Accessor to arrays stored in the data store.
Definition StoreArray.h:113
Class to store the quantities determined in the TOPBackSplashTiming module and relate to correspondin...
void makePlot(double, double, int, RooAbsPdf *, RooRealVar *, RooDataSet, RooFitResult *, int)
Creates RooPlots of fitted TOPtiming and save as png.
void initialize() override
Initialize the Module.
bool m_saveMoreFitParams
saves additional fit parameters (e.g.
void event() override
Event processor.
std::array< std::array< double, 11 >, 15 > m_fitparams
container of 11 TOP timing fit params per cosTheta
bool m_saveFits
plot and save fits of TOP timing
bool m_includeSlotsWithTracks
whether to fit neutral cluster TOP signal in slots with bkg tracks
void prepareFitModels()
Constructs RooFit objects for fitting.
std::vector< RooWorkspace > m_wss
container of RooWorkSpaces, containing fit funcs per cosTheta
int getModuleFromPhi(double)
Maps azimuthal angle to corresponding TOP slot no.
StoreArray< Track > m_tracks
Store Array of Track.
TOPBackSplashFitResult * fitTimingDigits(int, std::vector< const TOPDigit * > &, double, double, int)
Perform fitting of TOP timing in nearby slot.
StoreArray< TOPBackSplashFitResult > m_fitresult
StoreArray of TOPBackSplashFitResult.
StoreArray< ECLCluster > m_eclClusters
StoreArray of ECLCluster.
StoreArray< TOPDigit > m_digits
StoreArray of TOPDigit.
double m_minClusterE
minimum energy of ECL clusters to consider [GeV]
Abstract base class for different kinds of events.