File indexing completed on 2025-08-06 08:17:46
0001 #ifndef JETBASE_JETSTRUCTS_H
0002 #define JETBASE_JETSTRUCTS_H
0003
0004
0005
0006 #include "Jet.h"
0007
0008 #include <TClonesArray.h>
0009
0010 class Jetv2;
0011
0012 struct JetV2SortingCriteria
0013 {
0014 Jet::SORT criteria{Jet::SORT::PT};
0015 Jet::PROPERTY property{Jet::PROPERTY::no_property};
0016 Jet::SORT_ORDER order{Jet::SORT_ORDER::DESCENDING};
0017 unsigned int prop_index{0};
0018 };
0019
0020
0021
0022
0023 struct IterJetv2TCA
0024 {
0025 TClonesArray* tca{nullptr};
0026 Jetv2*& current_jet;
0027 int index{0};
0028 int size;
0029
0030
0031 IterJetv2TCA(TClonesArray* _tca, Jetv2*& _in_jet)
0032 : tca{_tca}
0033 , current_jet{_in_jet}
0034 , size{tca->GetEntriesFast()}
0035 {
0036 current_jet = (Jetv2*) tca->UncheckedAt(0);
0037 }
0038
0039 void operator++()
0040 {
0041 current_jet = (Jetv2*) tca->UncheckedAt(++index);
0042 };
0043
0044 Jetv2* operator*() { return current_jet; };
0045
0046 bool operator!=(const IterJetv2TCA& rhs)
0047 {
0048 if (index == rhs.size)
0049 {
0050 current_jet = (Jetv2*) tca->UncheckedAt(0);
0051 return false;
0052 }
0053 else
0054 {
0055 return true;
0056 }
0057 };
0058 };
0059
0060 #endif