PandaRoot
PndEventCheck.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 // -------------------------------------------------------------------------
14 // ----- PndEventCheck header file -----
15 // ----- Created 16/09/19 by T.Stockmann -----
16 // -------------------------------------------------------------------------
17 
24 #pragma once
25 
27 #include "TVector3.h"
28 #include "TVector2.h"
29 #include "PndEventRequirements.h"
30 #include "TClonesArray.h"
31 #include <iostream>
32 #include <vector>
33 
35  public:
37  PndEventCheck();
38  PndEventCheck(PndEventRequirements &requirements);
39 
41  virtual ~PndEventCheck();
42 
44  void Print(std::ostream &out = std::cout);
45 
46  void InitRequirements() { fEventRequirements.InitRequirements(); }
47 
48  friend std::ostream &operator<<(std::ostream &out, PndEventCheck &event)
49  {
50  event.Print(out);
51  return out;
52  }
53  void SetRequirements(PndEventRequirements &req) { fEventRequirements = req; }
54  PndEventRequirements GetEventRequirements() const { return fEventRequirements; }
55 
56  std::vector<std::vector<int>> CheckEvent(TClonesArray *mcTrackInfo);
57  std::vector<std::vector<int>> GetEventResult() const { return fEventResult; }
58 
61  protected:
62  int CheckElectronPair(PndMCTrackInfo *trackInfo, TClonesArray *mcTrackInfos);
63 
64  private:
65  PndEventRequirements fEventRequirements;
66  std::vector<std::vector<int>> fEventResult;
67 
68  ClassDef(PndEventCheck, 1);
69 };
70 
int CheckElectronPair(PndMCTrackInfo *trackInfo, TClonesArray *mcTrackInfos)
void SetRequirements(PndEventRequirements &req)
Definition: PndEventCheck.h:53
void Print(std::ostream &out=std::cout)
void InitRequirements()
Definition: PndEventCheck.h:46
friend std::ostream & operator<<(std::ostream &out, PndEventCheck &event)
Definition: PndEventCheck.h:48
virtual ~PndEventCheck()
std::vector< std::vector< int > > GetEventResult() const
Definition: PndEventCheck.h:57
std::vector< std::vector< int > > CheckEvent(TClonesArray *mcTrackInfo)
PndEventRequirements GetEventRequirements() const
Definition: PndEventCheck.h:54