File indexing completed on 2025-08-03 08:12:42
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011 #include "UpsilonPair.h"
0012 #include "EMCalTrk.h"
0013 #include <cmath>
0014 #include <cassert>
0015
0016 #include <TClonesArray.h>
0017
0018 ClassImp(UpsilonPair)
0019
0020 using namespace std;
0021
0022 UpsilonPair::UpsilonPair()
0023 {
0024
0025 trk = new TClonesArray("EMCalTrk", N_trk);
0026
0027 Reset();
0028 }
0029
0030 UpsilonPair::~UpsilonPair()
0031 {
0032 assert(trk);
0033 trk->Clear();
0034 delete trk;
0035 }
0036
0037 void
0038 UpsilonPair::Reset()
0039 {
0040 gmass = NAN;
0041 mass = NAN;
0042 good_upsilon = false;
0043
0044 assert(trk);
0045 trk->Clear();
0046 trk->ExpandCreate(N_trk);
0047
0048 for (int i = 0; i < N_trk; ++i)
0049 {
0050 new ((*trk)[i]) EMCalTrk();
0051
0052 EMCalTrk * t = dynamic_cast<EMCalTrk *>(trk->At(i));
0053 assert(t);
0054 }
0055
0056 }
0057
0058 EMCalTrk *
0059 UpsilonPair::get_trk(int i)
0060 {
0061 assert(i>=0);
0062 assert(i<N_trk);
0063
0064 EMCalTrk * t = dynamic_cast<EMCalTrk *>(trk->At(i));
0065 assert(t);
0066
0067 return t;
0068 }