Cleanup
authorloizides <loizides@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 24 Sep 2010 14:34:31 +0000 (14:34 +0000)
committerloizides <loizides@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 24 Sep 2010 14:34:31 +0000 (14:34 +0000)
PWG4/TwoPartCorr/EventPoolManager.C
PWG4/TwoPartCorr/EventPoolManager.h

index 466d9f8..ac4c9d4 100644 (file)
@@ -15,7 +15,7 @@ void GenericEventPool::PrintInfo() const
   return;
 }
 
-Bool_t GenericEventPool::EventMatchesBin(Int_t mult, Short_t zvtx) const
+Bool_t GenericEventPool::EventMatchesBin(Int_t mult, Double_t zvtx) const
 {
   // N.B. Lower bin limit included; upper limit excluded.
 
@@ -40,7 +40,7 @@ Int_t GenericEventPool::SetEventMultRange(Int_t multMin, Int_t multMax)
   return 0;
 }
 
-Int_t GenericEventPool::SetEventZvtxRange(Int_t zvtxMin, Int_t zvtxMax)
+Int_t GenericEventPool::SetEventZvtxRange(Double_t zvtxMin, Double_t zvtxMax)
 {
   fZvtxMin = zvtxMin;
   fZvtxMax = zvtxMax;
@@ -59,9 +59,6 @@ Int_t GenericEventPool::UpdatePool(Int_t iEvent, const MyHeader *ev, TObjArray *
     return -1;
   }
 
-  fMult = mult;
-  fZvtx = zvtx;
-
   // Should see evsize = trsize (= fMixDepth once full).
   Int_t evsize = fEvents.size();
   Int_t ntsize = fNTracksInEvent.size();
@@ -76,9 +73,10 @@ Int_t GenericEventPool::UpdatePool(Int_t iEvent, const MyHeader *ev, TObjArray *
   if (evsize == fMixDepth - 1) 
     firstReachedCapacity = true;
 
-  // Remove 0th element before appending this event
+  // remove 0th element before appending this event
   if (evsize >= fMixDepth) {
     TObjArray *fa = fEvents.front();
+    fa->Delete();
     delete fa;
     fEvents.pop_front();         // remove first track array 
     fNTracksInEvent.pop_front(); // remove first int
@@ -117,6 +115,13 @@ TObject* GenericEventPool::GetRandomTrack() const
   return trk;
 }
 
+TObjArray* GenericEventPool::GetRandomEvent() const
+{
+  UInt_t ranEvt = gRandom->Integer(fEvents.size());
+  TObjArray *tca = fEvents.at(ranEvt);
+  return tca;
+}
+
 Int_t GenericEventPool::NTracksInEvent(Int_t iEvent) const
 {
   Int_t n = -1;
@@ -140,7 +145,7 @@ Int_t GenericEventPool::NTracksInEvent(Int_t iEvent) const
 ClassImp(EventPoolManager)
 
 Int_t EventPoolManager::InitEventPools(Int_t depth, 
-                                       Int_t nMultBins, Double_t *multbin, 
+                                       Int_t nMultBins, Int_t *multbin, 
                                        Int_t nZvtxBins, Double_t *zvtxbin)
 {
   // First assign EventPoolManager members
index 32a8657..f20e358 100644 (file)
 class GenericEventPool : public TObject
 {
 public:
-  GenericEventPool(Int_t d) : fTracks(0), fMixDepth(d), fMultMin(-999), fMultMax(+999), 
-                       fZvtxMin(-999), fZvtxMax(+999), fMult(0), fZvtx(0), 
-                       fWasUpdated(0), fMultBinIndex(0), fZvtxBinIndex(0), fDebug(0) {;}
+  GenericEventPool(Int_t d) : 
+    fMixDepth(d), fMultMin(-999), fMultMax(+999), 
+    fZvtxMin(-999), fZvtxMax(+999), fWasUpdated(0), fMultBinIndex(0), 
+    fZvtxBinIndex(0), fDebug(0) {;}
   GenericEventPool(Int_t d, Int_t multMin, Int_t multMax, 
                    Double_t zvtxMin, Double_t zvtxMax) : 
-    fTracks(0), fMixDepth(d), fMultMin(multMin), fMultMax(multMax), 
-    fZvtxMin(zvtxMin), fZvtxMax(zvtxMax), fMult(0), fZvtx(0), 
-    fWasUpdated(0), fMultBinIndex(0), fZvtxBinIndex(0), fDebug(0) {;}
+    fMixDepth(d), fMultMin(multMin), fMultMax(multMax), 
+    fZvtxMin(zvtxMin), fZvtxMax(zvtxMax), fWasUpdated(0), fMultBinIndex(0), 
+    fZvtxBinIndex(0), fDebug(0) {;}
   ~GenericEventPool() {;}
 
-  Bool_t   EventMatchesBin(Int_t mult, Short_t zvtx) const;
-  Bool_t   IsReady()                    const { return (Int_t)fEvents.size()==fMixDepth; }
-  Int_t    Depth()                      const { return fEvents.size();                   }
-  TObject *GetRandomTrack()             const;
-  Int_t    MultBinIndex()               const { return fMultBinIndex;                    }
-  Int_t    NTracksInEvent(Int_t iEvent) const;
-  Int_t    NTracksInCurrentEvent()      const { return fNTracksInEvent.back();           }
-  void     PrintInfo()                  const;
-  Int_t    TracksInPool()               const;
-  Bool_t   WasUpdated()                 const { return fWasUpdated;   }
-  Int_t    ZvtxBinIndex()               const { return fZvtxBinIndex; }
-  void     SetDebug(Bool_t b)                 { fDebug = b;           }
-  Int_t    SetEventMultRange(Int_t multMin, Int_t multMax);
-  Int_t    SetEventZvtxRange(Int_t zvtxMin, Int_t zvtxMax);
-  void     SetMultBinIndex(Int_t iM) { fMultBinIndex = iM; }
-  void     SetZvtxBinIndex(Int_t iZ) { fZvtxBinIndex = iZ; }
-  Int_t    UpdatePool(int iEvent, const MyHeader *ev, TObjArray *trk);
+  Bool_t      EventMatchesBin(Int_t mult, Double_t zvtx) const;
+  Bool_t      IsReady()                    const { return (Int_t)fEvents.size()==fMixDepth; }
+  Int_t       Depth()                      const { return fEvents.size();                   }
+  TObject    *GetRandomTrack()             const;
+  TObjArray  *GetRandomEvent()             const;
+  Int_t       MultBinIndex()               const { return fMultBinIndex;                    }
+  Int_t       NTracksInEvent(Int_t iEvent) const;
+  Int_t       NTracksInCurrentEvent()      const { return fNTracksInEvent.back();           }
+  void        PrintInfo()                  const;
+  Int_t       TracksInPool()               const;
+  Bool_t      WasUpdated()                 const { return fWasUpdated;   }
+  Int_t       ZvtxBinIndex()               const { return fZvtxBinIndex; }
+  void        SetDebug(Bool_t b)                 { fDebug = b;           }
+  Int_t       SetEventMultRange(Int_t multMin, Int_t multMax);
+  Int_t       SetEventZvtxRange(Double_t zvtxMin, Double_t zvtxMax);
+  void        SetMultBinIndex(Int_t iM) { fMultBinIndex = iM; }
+  void        SetZvtxBinIndex(Int_t iZ) { fZvtxBinIndex = iZ; }
+  Int_t       UpdatePool(int iEvent, const MyHeader *ev, TObjArray *trk);
   
 protected:
-  TClonesArray         *fTracks;              //Copy of trk array. Refreshes each event
   deque<TObjArray*>     fEvents;              //Holds TObjArrays of MyTracklets
   deque<int>            fNTracksInEvent;      //Tracks in event
   deque<int>            fEventIndex;          //Original event index
   Int_t                 fMixDepth;            //Number of evts. to mix with
   Int_t                 fMultMin, fMultMax;   //Track multiplicity bin range
   Double_t              fZvtxMin, fZvtxMax;   //Event z-vertex bin range
-  Int_t                 fMult;                //Tracks in current event
-  Short_t               fZvtx;                //Current z-vertex
   Bool_t                fWasUpdated;          //Evt. succesfully passed selection?
   Int_t                 fMultBinIndex;        //Multiplicity bin
   Int_t                 fZvtxBinIndex;        //Zvertex bin
@@ -66,18 +65,18 @@ protected:
 class EventPoolManager : public TObject
 {
 public:
-  EventPoolManager(){;}
-  ~EventPoolManager(){ }
+  EventPoolManager() : fNMultBins(0), fNZvtxBins(0) {;}
+  ~EventPoolManager() {;}
   
   GenericEventPool       *GetEventPool(Int_t iMult, Int_t iZvtx) const;
   Int_t                   InitEventPools(Int_t depth, 
-                                         Int_t nmultbins, Double_t *multbins, 
+                                         Int_t nmultbins, Int_t *multbins, 
                                          Int_t nzvtxbins, Double_t *zvtxbins);
   Int_t                   UpdatePools(Int_t iEvent, const MyHeader *ev, TObjArray *trk);
 
 protected:
-  Int_t      fNMultBins;                                // mult bins
-  Int_t      fNZvtxBins;                                // vertex bins
+  Int_t      fNMultBins;                                // number mult bins
+  Int_t      fNZvtxBins;                                // number vertex bins
   std::vector<std::vector<GenericEventPool*> > fEvPool; // pool in bins of [fMultBin][fZvtxBin]
 
   ClassDef(EventPoolManager,1)