ATLAS Offline Software
ClusterAnalysis.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3 */
4 
9 #ifndef CLUSTERANALYSIS_H
10 #define CLUSTERANALYSIS_H
11 
12 #include <vector>
14 #include "TH1F.h"
15 #include "TH2F.h"
16 
17 namespace ClusterSeg {
18 
20  public:
21 
23  ClusterAnalysis( TTree& tree );
24  virtual ~ClusterAnalysis() = default;
25 
26  std::vector<std::vector<SpacePoint>> analyse(const std::vector<Cluster*>& clust);
27  void analyseWrite();
28 
29  private:
30 
31  std::vector<std::vector<SpacePoint>> createTGCSeeds(const std::vector<SpacePoint>& points);
32  std::vector<std::vector<SpacePoint>> createRPCSeeds(const std::vector<SpacePoint>& points);
33  void createSeedsAllLayers(const std::vector<SpacePoint>& layer1Points,const std::vector<SpacePoint>& layer2Points,const std::vector<SpacePoint>& layer3Points,
34  std::vector<std::vector<SpacePoint>>& seeds);
35  void createSeedsTwoLayers(const std::vector<SpacePoint>& layer1Points,const std::vector<SpacePoint>& layer2Points,
36  std::vector<std::vector<SpacePoint>>& seeds);
37  static std::vector<SpacePoint> createSpacePoints(const std::vector<Cluster*>& clust);
38 
39  TTree* m_tree;
41  int m_ncalls{};
42 
43  bool m_writeOut;
44  double m_ang_cut;
45  double m_ang2_cut;
46  double m_dist_cut;
47 
48  std::unique_ptr<TH2F> m_h_miss_RZ;
49  std::unique_ptr<TH2F> m_h_miss_XY;
50  std::unique_ptr<TH2F> m_h_rz;
51  std::unique_ptr<TH2F> m_h_xy;
52  std::unique_ptr<TH2F> m_h_corr;
53  std::unique_ptr<TH1F> m_h_phi;
54  std::unique_ptr<TH1F> m_h_theta;
55  std::unique_ptr<TH1F> m_h_angle;
56  std::unique_ptr<TH1F> m_h_phi_t;
57  std::unique_ptr<TH1F> m_h_theta_t;
58  std::unique_ptr<TH1F> m_h_angle_t;
59 
60  std::unique_ptr<TH1F> m_h_phi12;
61  std::unique_ptr<TH1F> m_h_theta12;
62  std::unique_ptr<TH1F> m_h_angle12;
63  std::unique_ptr<TH1F> m_h_phi_t12;
64  std::unique_ptr<TH1F> m_h_theta_t12;
65  std::unique_ptr<TH1F> m_h_angle_t12;
66 
67  std::unique_ptr<TH1F> m_h_phi13;
68  std::unique_ptr<TH1F> m_h_theta13;
69  std::unique_ptr<TH1F> m_h_angle13;
70  std::unique_ptr<TH1F> m_h_phi_t13;
71  std::unique_ptr<TH1F> m_h_theta_t13;
72  std::unique_ptr<TH1F> m_h_angle_t13;
73 
74  std::unique_ptr<TH1F> m_h_phi23;
75  std::unique_ptr<TH1F> m_h_theta23;
76  std::unique_ptr<TH1F> m_h_angle23;
77  std::unique_ptr<TH1F> m_h_phi_t23;
78  std::unique_ptr<TH1F> m_h_theta_t23;
79  std::unique_ptr<TH1F> m_h_angle_t23;
80 
81  std::unique_ptr<TH1F> m_h_R;
82  std::unique_ptr<TH1F> m_h_XY;
83  std::unique_ptr<TH1F> m_h_R_t;
84  std::unique_ptr<TH1F> m_h_XY_t;
85  std::unique_ptr<TH1F> m_h_sizeL1;
86  std::unique_ptr<TH1F> m_h_sizeL2;
87  std::unique_ptr<TH1F> m_h_sizeL3;
88  std::unique_ptr<TH1F> m_h_sizeL1L3;
89  std::unique_ptr<TH1F> m_h_sizeL1L2L3;
90 
91  std::unique_ptr<TH1F> m_h_XY121;
92  std::unique_ptr<TH1F> m_h_XY122;
93  std::unique_ptr<TH1F> m_h_XY121_t;
94  std::unique_ptr<TH1F> m_h_XY122_t;
95 
96  std::unique_ptr<TH1F> m_h_XY131;
97  std::unique_ptr<TH1F> m_h_XY133;
98  std::unique_ptr<TH1F> m_h_XY131_t;
99  std::unique_ptr<TH1F> m_h_XY133_t;
100 
101  std::unique_ptr<TH1F> m_h_XY232;
102  std::unique_ptr<TH1F> m_h_XY233;
103  std::unique_ptr<TH1F> m_h_XY232_t;
104  std::unique_ptr<TH1F> m_h_XY233_t;
105 
106  std::unique_ptr<TH1F> m_h_numseeds;
107  std::unique_ptr<TH2F> m_h_barcodes;
108 
109  };
110 }
111 
112 #endif
ClusterSeg::ClusterAnalysis::m_h_theta13
std::unique_ptr< TH1F > m_h_theta13
Definition: ClusterAnalysis.h:68
ClusterSeg::ClusterAnalysis::m_h_numseeds
std::unique_ptr< TH1F > m_h_numseeds
Definition: ClusterAnalysis.h:106
ClusterSeg::ClusterAnalysis::m_h_angle
std::unique_ptr< TH1F > m_h_angle
Definition: ClusterAnalysis.h:55
ClusterSeg::ClusterAnalysis::m_h_barcodes
std::unique_ptr< TH2F > m_h_barcodes
Definition: ClusterAnalysis.h:107
ClusterSeg::ClusterAnalysis::m_h_angle_t
std::unique_ptr< TH1F > m_h_angle_t
Definition: ClusterAnalysis.h:58
ClusterSeg::ClusterAnalysis::m_h_XY131
std::unique_ptr< TH1F > m_h_XY131
Definition: ClusterAnalysis.h:96
ClusterSeg::ClusterAnalysis::m_h_rz
std::unique_ptr< TH2F > m_h_rz
Definition: ClusterAnalysis.h:50
ClusterSeg::ClusterAnalysis::m_ang_cut
double m_ang_cut
Definition: ClusterAnalysis.h:44
ClusterSeg::ClusterAnalysis::createSpacePoints
static std::vector< SpacePoint > createSpacePoints(const std::vector< Cluster * > &clust)
Definition: ClusterAnalysis.cxx:423
ClusterSeg::ClusterAnalysis::createSeedsTwoLayers
void createSeedsTwoLayers(const std::vector< SpacePoint > &layer1Points, const std::vector< SpacePoint > &layer2Points, std::vector< std::vector< SpacePoint >> &seeds)
Definition: ClusterAnalysis.cxx:391
ClusterSeg::ClusterAnalysis::m_ncalls
int m_ncalls
Definition: ClusterAnalysis.h:41
tree
TChain * tree
Definition: tile_monitor.h:30
ClusterSeg::ClusterAnalysis::m_h_theta_t13
std::unique_ptr< TH1F > m_h_theta_t13
Definition: ClusterAnalysis.h:71
ClusterSeg::ClusterAnalysis::m_h_XY131_t
std::unique_ptr< TH1F > m_h_XY131_t
Definition: ClusterAnalysis.h:98
ClusterSeg::ClusterAnalysis::m_h_xy
std::unique_ptr< TH2F > m_h_xy
Definition: ClusterAnalysis.h:51
ClusterSeg::ClusterAnalysis::analyseWrite
void analyseWrite()
Definition: ClusterAnalysis.cxx:48
ClusterSeg::ClusterAnalysis::~ClusterAnalysis
virtual ~ClusterAnalysis()=default
ClusterSeg::ClusterAnalysis::m_h_XY232
std::unique_ptr< TH1F > m_h_XY232
Definition: ClusterAnalysis.h:101
ClusterSeg::ClusterAnalysis::m_h_angle_t13
std::unique_ptr< TH1F > m_h_angle_t13
Definition: ClusterAnalysis.h:72
ClusterSeg::ClusterAnalysis::m_h_phi_t12
std::unique_ptr< TH1F > m_h_phi_t12
Definition: ClusterAnalysis.h:63
ClusterSeg::ClusterAnalysis::m_h_phi_t13
std::unique_ptr< TH1F > m_h_phi_t13
Definition: ClusterAnalysis.h:70
ClusterSeg::ClusterAnalysis::m_h_phi23
std::unique_ptr< TH1F > m_h_phi23
Definition: ClusterAnalysis.h:74
ClusterSeg
Definition: MuonSpectrometer/MuonReconstruction/MuonRecUtils/MuonLinearSegmentMakerUtilities/MuonLinearSegmentMakerUtilities/Cluster.h:12
ClusterSeg::ClusterAnalysis::m_h_XY122_t
std::unique_ptr< TH1F > m_h_XY122_t
Definition: ClusterAnalysis.h:94
ClusterSeg::ClusterAnalysis::m_h_corr
std::unique_ptr< TH2F > m_h_corr
Definition: ClusterAnalysis.h:52
ClusterSeg::ClusterAnalysis::m_h_phi_t23
std::unique_ptr< TH1F > m_h_phi_t23
Definition: ClusterAnalysis.h:77
ClusterSeg::ClusterAnalysis::m_h_XY121_t
std::unique_ptr< TH1F > m_h_XY121_t
Definition: ClusterAnalysis.h:93
ClusterSeg::ClusterAnalysis::m_h_XY133
std::unique_ptr< TH1F > m_h_XY133
Definition: ClusterAnalysis.h:97
ClusterSeg::ClusterAnalysis
Definition: ClusterAnalysis.h:19
ClusterSeg::ClusterAnalysis::analyse
std::vector< std::vector< SpacePoint > > analyse(const std::vector< Cluster * > &clust)
Definition: ClusterAnalysis.cxx:236
ClusterSeg::ClusterAnalysis::m_dist_cut
double m_dist_cut
Definition: ClusterAnalysis.h:46
ClusterSeg::ClusterAnalysis::m_h_sizeL2
std::unique_ptr< TH1F > m_h_sizeL2
Definition: ClusterAnalysis.h:86
ClusterSeg::ClusterAnalysis::m_h_angle13
std::unique_ptr< TH1F > m_h_angle13
Definition: ClusterAnalysis.h:69
ClusterSeg::ClusterAnalysis::createTGCSeeds
std::vector< std::vector< SpacePoint > > createTGCSeeds(const std::vector< SpacePoint > &points)
Definition: ClusterAnalysis.cxx:245
ClusterSeg::ClusterAnalysis::m_h_XY133_t
std::unique_ptr< TH1F > m_h_XY133_t
Definition: ClusterAnalysis.h:99
ClusterSeg::ClusterAnalysis::m_h_theta_t
std::unique_ptr< TH1F > m_h_theta_t
Definition: ClusterAnalysis.h:57
ClusterSeg::ClusterAnalysis::m_h_sizeL3
std::unique_ptr< TH1F > m_h_sizeL3
Definition: ClusterAnalysis.h:87
ClusterSeg::ClusterAnalysis::createRPCSeeds
std::vector< std::vector< SpacePoint > > createRPCSeeds(const std::vector< SpacePoint > &points)
Definition: ClusterAnalysis.cxx:291
ClusterSeg::ClusterAnalysis::m_h_angle_t12
std::unique_ptr< TH1F > m_h_angle_t12
Definition: ClusterAnalysis.h:65
ClusterSeg::ClusterNtuple
Definition: ClusterNtuple.h:22
ClusterSeg::ClusterAnalysis::m_h_angle23
std::unique_ptr< TH1F > m_h_angle23
Definition: ClusterAnalysis.h:76
ClusterSeg::ClusterAnalysis::m_h_XY_t
std::unique_ptr< TH1F > m_h_XY_t
Definition: ClusterAnalysis.h:84
ClusterSeg::ClusterAnalysis::m_h_R
std::unique_ptr< TH1F > m_h_R
Definition: ClusterAnalysis.h:81
ClusterSeg::ClusterAnalysis::m_h_phi12
std::unique_ptr< TH1F > m_h_phi12
Definition: ClusterAnalysis.h:60
ClusterSeg::ClusterAnalysis::m_h_sizeL1L3
std::unique_ptr< TH1F > m_h_sizeL1L3
Definition: ClusterAnalysis.h:88
ClusterSeg::ClusterAnalysis::m_h_theta23
std::unique_ptr< TH1F > m_h_theta23
Definition: ClusterAnalysis.h:75
ClusterSeg::ClusterAnalysis::m_h_miss_RZ
std::unique_ptr< TH2F > m_h_miss_RZ
Definition: ClusterAnalysis.h:48
ClusterSeg::ClusterAnalysis::m_h_XY233_t
std::unique_ptr< TH1F > m_h_XY233_t
Definition: ClusterAnalysis.h:104
ClusterSeg::ClusterAnalysis::m_h_phi13
std::unique_ptr< TH1F > m_h_phi13
Definition: ClusterAnalysis.h:67
ClusterSeg::ClusterAnalysis::m_tree
TTree * m_tree
Definition: ClusterAnalysis.h:39
ClusterSeg::ClusterAnalysis::m_h_XY122
std::unique_ptr< TH1F > m_h_XY122
Definition: ClusterAnalysis.h:92
ClusterSeg::ClusterAnalysis::m_h_sizeL1
std::unique_ptr< TH1F > m_h_sizeL1
Definition: ClusterAnalysis.h:85
ClusterSeg::ClusterAnalysis::m_h_XY
std::unique_ptr< TH1F > m_h_XY
Definition: ClusterAnalysis.h:82
ClusterSeg::ClusterAnalysis::m_h_theta_t12
std::unique_ptr< TH1F > m_h_theta_t12
Definition: ClusterAnalysis.h:64
ClusterSeg::ClusterAnalysis::m_ntuple
ClusterNtuple m_ntuple
Definition: ClusterAnalysis.h:40
ClusterNtuple.h
ClusterSeg::ClusterAnalysis::m_h_phi
std::unique_ptr< TH1F > m_h_phi
Definition: ClusterAnalysis.h:53
ClusterSeg::ClusterAnalysis::m_h_theta
std::unique_ptr< TH1F > m_h_theta
Definition: ClusterAnalysis.h:54
ClusterSeg::ClusterAnalysis::m_ang2_cut
double m_ang2_cut
Definition: ClusterAnalysis.h:45
ClusterSeg::ClusterAnalysis::m_h_angle_t23
std::unique_ptr< TH1F > m_h_angle_t23
Definition: ClusterAnalysis.h:79
ClusterSeg::ClusterAnalysis::ClusterAnalysis
ClusterAnalysis()
Definition: ClusterAnalysis.cxx:26
ClusterSeg::ClusterAnalysis::m_h_R_t
std::unique_ptr< TH1F > m_h_R_t
Definition: ClusterAnalysis.h:83
ClusterSeg::ClusterAnalysis::m_h_XY121
std::unique_ptr< TH1F > m_h_XY121
Definition: ClusterAnalysis.h:91
ClusterSeg::ClusterAnalysis::m_writeOut
bool m_writeOut
Definition: ClusterAnalysis.h:43
ClusterSeg::ClusterAnalysis::createSeedsAllLayers
void createSeedsAllLayers(const std::vector< SpacePoint > &layer1Points, const std::vector< SpacePoint > &layer2Points, const std::vector< SpacePoint > &layer3Points, std::vector< std::vector< SpacePoint >> &seeds)
Definition: ClusterAnalysis.cxx:325
ClusterSeg::ClusterAnalysis::m_h_sizeL1L2L3
std::unique_ptr< TH1F > m_h_sizeL1L2L3
Definition: ClusterAnalysis.h:89
ClusterSeg::ClusterAnalysis::m_h_theta12
std::unique_ptr< TH1F > m_h_theta12
Definition: ClusterAnalysis.h:61
ClusterSeg::ClusterAnalysis::m_h_XY233
std::unique_ptr< TH1F > m_h_XY233
Definition: ClusterAnalysis.h:102
ClusterSeg::ClusterAnalysis::m_h_phi_t
std::unique_ptr< TH1F > m_h_phi_t
Definition: ClusterAnalysis.h:56
ClusterSeg::ClusterAnalysis::m_h_theta_t23
std::unique_ptr< TH1F > m_h_theta_t23
Definition: ClusterAnalysis.h:78
ClusterSeg::ClusterAnalysis::m_h_miss_XY
std::unique_ptr< TH2F > m_h_miss_XY
Definition: ClusterAnalysis.h:49
ClusterSeg::ClusterAnalysis::m_h_angle12
std::unique_ptr< TH1F > m_h_angle12
Definition: ClusterAnalysis.h:62
ClusterSeg::ClusterAnalysis::m_h_XY232_t
std::unique_ptr< TH1F > m_h_XY232_t
Definition: ClusterAnalysis.h:103