TrackingSpatial.h 1.18 KB
Newer Older
1
2
#ifndef TrackingSpatial_H
#define TrackingSpatial_H 1
3

4
5
6
7
#include <Math/Functor.h>
#include <Minuit2/Minuit2Minimizer.h>
#include <TCanvas.h>
#include <TH1F.h>
8
#include <iostream>
9

10
// Local includes
11
#include "core/module/Module.hpp"
12
#include "objects/Cluster.hpp"
Simon Spannagel's avatar
Simon Spannagel committed
13
#include "objects/Track.hpp"
14

15
namespace corryvreckan {
16
    /** @ingroup Modules
Simon Spannagel's avatar
Simon Spannagel committed
17
     */
18
    class TrackingSpatial : public Module {
19

Simon Spannagel's avatar
Simon Spannagel committed
20
21
    public:
        // Constructors and destructors
22
23
        TrackingSpatial(Configuration config, std::vector<std::shared_ptr<Detector>> detectors);
        ~TrackingSpatial() {}
24

Simon Spannagel's avatar
Simon Spannagel committed
25
        // Functions
26
        void initialise();
27
        StatusCode run(std::shared_ptr<Clipboard> clipboard);
28

29
    private:
Simon Spannagel's avatar
Simon Spannagel committed
30
31
32
33
34
35
36
        // Histograms
        TH1F* trackChi2;
        TH1F* clustersPerTrack;
        TH1F* trackChi2ndof;
        TH1F* tracksPerEvent;
        TH1F* trackAngleX;
        TH1F* trackAngleY;
37
38
        std::map<std::string, TH1F*> residualsX;
        std::map<std::string, TH1F*> residualsY;
39

Simon Spannagel's avatar
Simon Spannagel committed
40
        // Member variables
41
        std::map<std::shared_ptr<Detector>, XYVector> spatial_cuts_;
42
        size_t minHitsOnTrack;
43
        bool excludeDUT;
Simon Spannagel's avatar
Simon Spannagel committed
44
    };
45
} // namespace corryvreckan
46
#endif // TrackingSpatial_H