AnalysisDUT.h 2.15 KB
Newer Older
1
2
#ifndef CORRYVRECKAN_DUT_ANALYSIS_H
#define CORRYVRECKAN_DUT_ANALYSIS_H
3

4
5
6
7
#include <TCanvas.h>
#include <TH1F.h>
#include <TH2F.h>
#include <TProfile2D.h>
8
9
10
11
12
13
#include <iostream>
#include "core/module/Module.hpp"

namespace corryvreckan {
    /** @ingroup Modules
     */
14
    class AnalysisDUT : public Module {
15
16
17

    public:
        // Constructors and destructors
18
19
        AnalysisDUT(Configuration config, std::shared_ptr<Detector> detector);
        ~AnalysisDUT() {}
20
21
22

        // Functions
        void initialise();
23
        StatusCode run(std::shared_ptr<Clipboard> clipboard);
24
        void finalise();
25
26

    private:
27
28
        std::shared_ptr<Detector> m_detector;

29
        // Histograms
30
        TH2F *hClusterMapAssoc, *hHitMapAssoc, *hHitMapROI;
31
        TProfile2D *hClusterSizeMapAssoc, *hClusterChargeMapAssoc;
32

33
34
        TH1F* hPixelRawValueAssoc;
        TProfile2D* hPixelRawValueMapAssoc;
35
36

        TH1F* associatedTracksVersusTime;
37
38
        TH1F *residualsX, *residualsY, *residualsPos;
        TH2F* residualsPosVsresidualsTime;
39
40
41
42

        TH1F *residualsX1pix, *residualsY1pix;
        TH1F *residualsX2pix, *residualsY2pix;

43
        TH1F* clusterChargeAssoc;
44
        TH1F* clusterSizeAssoc;
45
        TH1F* clusterSizeAssocNorm;
46
47
        TH1F* clusterWidthRowAssoc;
        TH1F* clusterWidthColAssoc;
48

49
50
        TH1F* hCutHisto;

51
52
53
54
55
        TProfile2D *rmsxvsxmym, *rmsyvsxmym, *rmsxyvsxmym;
        TProfile2D *qvsxmym, *qMoyalvsxmym, *pxqvsxmym;
        TProfile2D* npxvsxmym;
        TH2F *npx1vsxmym, *npx2vsxmym, *npx3vsxmym, *npx4vsxmym;

56
57
        TH1F* hTrackCorrelationX;
        TH1F* hTrackCorrelationY;
58
59
        TH1F* hTrackCorrelationPos;
        TH2F* hTrackCorrelationPosVsCorrelationTime;
60
61
62
63
64
65
        TH1F* hTrackCorrelationTime;
        TH1F* residualsTime;
        TH2F* residualsTimeVsTime;
        TH2F* residualsTimeVsSignal;

        TH2F* hAssociatedTracksGlobalPosition;
66
        TH2F* hAssociatedTracksLocalPosition;
Lennart Huth's avatar
Lennart Huth committed
67
        TH2F* hUnassociatedTracksGlobalPosition;
68
        // Member variables
69
        double m_timeCutFrameEdge;
70
        double chi2ndofCut;
71
        bool useClosestCluster;
Katharina Dort's avatar
Katharina Dort committed
72
        int num_tracks;
73
74
75
    };
} // namespace corryvreckan

76
#endif // CORRYVRECKAN_DUT_ANALYSIS_H