PandaRoot
RhoTreeMcMatch.h
Go to the documentation of this file.
1 //****************************************************************************
2 //* This file is part of PandaRoot. *
3 //* *
4 //* PandaRoot is distributed under the terms of the *
5 //* GNU General Public License (GPL) version 3, *
6 //* copied verbatim in the file "LICENSE". *
7 //* *
8 //* Copyright (C) 2006 - 2024 FAIR GmbH and copyright holders of PandaRoot *
9 //* The copyright holders are listed in the file "COPYRIGHTHOLDERS". *
10 //* The authors are listed in the file "AUTHORS". *
11 //****************************************************************************
12 
13 #ifndef RHOTREEMCMATCH_H
14 #define RHOTREEMCMATCH_H
15 
17 // //
18 // RhoTreetch //
19 // //
20 // Mc match of a composite candidate for analysis purposes. //
21 // //
22 // Author List: //
23 // Aron Kripko, 2022 //
24 // Manav Bilakhia, 2022 //
25 // //
27 
28 #include "RhoBase/RhoCandidate.h"
29 #include <vector>
30 #include <map>
31 
33  private:
34  static int headID;
35  static std::map<const int, const RhoCandidate *> mothers;
36 
37  RhoTreeMcMatch() = delete;
38  static void GetEnds(const RhoCandidate *candidate, std::vector<const RhoCandidate *> &ends);
39  static const RhoCandidate *getNthMother(const int c, const RhoCandidate *mct);
40  static bool check(const RhoCandidate *node, const RhoCandidate *mctm);
41  static bool sisterhood_check(const RhoCandidate *endnode1, const RhoCandidate *endnode2);
42 
43  public:
44  static bool mct(const RhoCandidate *candidate);
45 };
46 
47 #endif
static bool mct(const RhoCandidate *candidate)