Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-03 08:12:42

0001 // $Id: $                                                                                             
0002 
0003 /*!
0004  * \file UpsilonPair.C
0005  * \brief 
0006  * \author Jin Huang <jhuang@bnl.gov>
0007  * \version $Revision:   $
0008  * \date $Date: $
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 }