AnalysisTracks.h 1.73 KB
Newer Older
1
2
3
4
5
6
7
8
9
/**
 * @file
 * @brief Definition of module AnalysisTracks
 *
 * @copyright Copyright (c) 2020 CERN and the Corryvreckan authors.
 * This software is distributed under the terms of the MIT License, copied verbatim in the file "LICENSE.md".
 * In applying this license, CERN does not waive the privileges and immunities granted to it by virtue of its status as an
 * Intergovernmental Organization or submit itself to any jurisdiction.
 */
10
11
#ifndef ANALYSISTRACKS_H
#define ANALYSISTRACKS_H 1
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#include <TCanvas.h>
#include <TH1F.h>
#include <TH2F.h>
#include <iostream>
#include "core/module/Module.hpp"
#include "objects/Cluster.hpp"
#include "objects/Pixel.hpp"
#include "objects/Track.hpp"

namespace corryvreckan {
    /** @ingroup Modules
     * @brief Module to do function
     *
     * More detailed explanation of module
     */
    class AnalysisTracks : public Module {

    public:
        /**
         * @brief Constructor for this unique module
         * @param config Configuration object for this module as retrieved from the steering file
         * @param detectors Vector of pointers to the detectors
         */
35
36
        AnalysisTracks(Configuration& config, std::vector<std::shared_ptr<Detector>> detectors);
        ~AnalysisTracks() {}
37
38
39
        /**
         * @brief [Initialise this module]
         */
40
        void initialize() override;
41
42
43
44

        /**
         * @brief [Run the function of this module]
         */
45
        StatusCode run(const std::shared_ptr<Clipboard>& clipboard) override;
46
47
48
49
50
51
52
53

    private:
        std::map<std::string, TH1F*> _distance_between_tracks_{};
        std::map<std::string, TH1F*> _tracks_per_hit_{};
        std::map<std::string, TH2F*> clusters_vs_tracks_{};
    };

} // namespace corryvreckan
54
#endif // ANALYSISTRACKS_H