ROOT logo
////////////////////////////////////////////////////////////////////////////////
//                                                                            //
// AliFemtoCutMonitorCollections - the cut monitor for particles to study    //
// the difference between reconstructed and true momentum                     //
//                                                                            //
////////////////////////////////////////////////////////////////////////////////
#include "AliFemtoCutMonitorCollections.h"
#include "AliFemtoModelHiddenInfo.h"
#include "AliFemtoEvent.h"
#include <TH1D.h>
#include <TH2D.h>
#include <TList.h>

AliFemtoCutMonitorCollections::AliFemtoCutMonitorCollections():
  fCollection1Mult(0),
  fCollection2Mult(0)
{
  // Default constructor
  fCollection1Mult = new TH1D("Coll1Mult", "Collection 1 Multiplicity", 5001, -0.5, 5000.5);
  fCollection2Mult = new TH1D("Coll2Mult","Collection 2 Multiplicity",5001,-0.5,5000.5);
}

AliFemtoCutMonitorCollections::AliFemtoCutMonitorCollections(const char *aName):
  fCollection1Mult(0),
  fCollection2Mult(0)
{
  // Normal constructor
  char name[200];
  snprintf(name, 200, "Coll1Mult%s", aName);
  fCollection1Mult = new TH1D(name, "Collection 1 Multiplicity", 5001, -0.5, 5000.5);

  snprintf(name, 200, "Coll2Mult%s", aName);
  fCollection2Mult = new TH1D(name, "Collection 2 Multiplicity", 5001, -0.5, 5000.5);
}

AliFemtoCutMonitorCollections::AliFemtoCutMonitorCollections(const AliFemtoCutMonitorCollections &aCut):
  fCollection1Mult(0),
  fCollection2Mult(0)
{
  // copy constructor
  if (fCollection1Mult) delete fCollection1Mult;
  fCollection1Mult = new TH1D(*aCut.fCollection1Mult);

  if (fCollection2Mult) delete fCollection2Mult;
  fCollection2Mult = new TH1D(*aCut.fCollection2Mult);
}

AliFemtoCutMonitorCollections::~AliFemtoCutMonitorCollections()
{
  // Destructor
  delete fCollection1Mult;
  delete fCollection2Mult;
}

AliFemtoCutMonitorCollections& AliFemtoCutMonitorCollections::operator=(const AliFemtoCutMonitorCollections& aCut)
{
  // assignment operator
  if (this == &aCut) 
    return *this;

  if (fCollection1Mult) delete fCollection1Mult;
  fCollection1Mult = new TH1D(*aCut.fCollection1Mult);

  if (fCollection2Mult) delete fCollection2Mult;
  fCollection2Mult = new TH1D(*aCut.fCollection2Mult);

  return *this;
}

AliFemtoString AliFemtoCutMonitorCollections::Report(){ 
  // Prepare report from the execution
  string stemp = "*** AliFemtoCutMonitorCollections report"; 
  AliFemtoString returnThis = stemp;
  return returnThis; 
}

void AliFemtoCutMonitorCollections::Fill(const AliFemtoParticleCollection* aCollection1,const AliFemtoParticleCollection* aCollection2)
{
  // Fill in the monitor histograms with the values from the current event
  //cout<<"Monitor collection sizes: "<<aCollection1->size()<<" "<<aCollection2->size()<<endl;
  fCollection1Mult->Fill(aCollection1->size());
  fCollection2Mult->Fill(aCollection2->size()); 


}

void AliFemtoCutMonitorCollections::Write()
{
  // Write out the relevant histograms
  fCollection1Mult->Write();
  fCollection2Mult->Write();

}

TList *AliFemtoCutMonitorCollections::GetOutputList()
{
  TList *tOutputList = new TList();
  tOutputList->Add(fCollection1Mult);
  tOutputList->Add(fCollection2Mult);  

  return tOutputList;
}


 AliFemtoCutMonitorCollections.cxx:1
 AliFemtoCutMonitorCollections.cxx:2
 AliFemtoCutMonitorCollections.cxx:3
 AliFemtoCutMonitorCollections.cxx:4
 AliFemtoCutMonitorCollections.cxx:5
 AliFemtoCutMonitorCollections.cxx:6
 AliFemtoCutMonitorCollections.cxx:7
 AliFemtoCutMonitorCollections.cxx:8
 AliFemtoCutMonitorCollections.cxx:9
 AliFemtoCutMonitorCollections.cxx:10
 AliFemtoCutMonitorCollections.cxx:11
 AliFemtoCutMonitorCollections.cxx:12
 AliFemtoCutMonitorCollections.cxx:13
 AliFemtoCutMonitorCollections.cxx:14
 AliFemtoCutMonitorCollections.cxx:15
 AliFemtoCutMonitorCollections.cxx:16
 AliFemtoCutMonitorCollections.cxx:17
 AliFemtoCutMonitorCollections.cxx:18
 AliFemtoCutMonitorCollections.cxx:19
 AliFemtoCutMonitorCollections.cxx:20
 AliFemtoCutMonitorCollections.cxx:21
 AliFemtoCutMonitorCollections.cxx:22
 AliFemtoCutMonitorCollections.cxx:23
 AliFemtoCutMonitorCollections.cxx:24
 AliFemtoCutMonitorCollections.cxx:25
 AliFemtoCutMonitorCollections.cxx:26
 AliFemtoCutMonitorCollections.cxx:27
 AliFemtoCutMonitorCollections.cxx:28
 AliFemtoCutMonitorCollections.cxx:29
 AliFemtoCutMonitorCollections.cxx:30
 AliFemtoCutMonitorCollections.cxx:31
 AliFemtoCutMonitorCollections.cxx:32
 AliFemtoCutMonitorCollections.cxx:33
 AliFemtoCutMonitorCollections.cxx:34
 AliFemtoCutMonitorCollections.cxx:35
 AliFemtoCutMonitorCollections.cxx:36
 AliFemtoCutMonitorCollections.cxx:37
 AliFemtoCutMonitorCollections.cxx:38
 AliFemtoCutMonitorCollections.cxx:39
 AliFemtoCutMonitorCollections.cxx:40
 AliFemtoCutMonitorCollections.cxx:41
 AliFemtoCutMonitorCollections.cxx:42
 AliFemtoCutMonitorCollections.cxx:43
 AliFemtoCutMonitorCollections.cxx:44
 AliFemtoCutMonitorCollections.cxx:45
 AliFemtoCutMonitorCollections.cxx:46
 AliFemtoCutMonitorCollections.cxx:47
 AliFemtoCutMonitorCollections.cxx:48
 AliFemtoCutMonitorCollections.cxx:49
 AliFemtoCutMonitorCollections.cxx:50
 AliFemtoCutMonitorCollections.cxx:51
 AliFemtoCutMonitorCollections.cxx:52
 AliFemtoCutMonitorCollections.cxx:53
 AliFemtoCutMonitorCollections.cxx:54
 AliFemtoCutMonitorCollections.cxx:55
 AliFemtoCutMonitorCollections.cxx:56
 AliFemtoCutMonitorCollections.cxx:57
 AliFemtoCutMonitorCollections.cxx:58
 AliFemtoCutMonitorCollections.cxx:59
 AliFemtoCutMonitorCollections.cxx:60
 AliFemtoCutMonitorCollections.cxx:61
 AliFemtoCutMonitorCollections.cxx:62
 AliFemtoCutMonitorCollections.cxx:63
 AliFemtoCutMonitorCollections.cxx:64
 AliFemtoCutMonitorCollections.cxx:65
 AliFemtoCutMonitorCollections.cxx:66
 AliFemtoCutMonitorCollections.cxx:67
 AliFemtoCutMonitorCollections.cxx:68
 AliFemtoCutMonitorCollections.cxx:69
 AliFemtoCutMonitorCollections.cxx:70
 AliFemtoCutMonitorCollections.cxx:71
 AliFemtoCutMonitorCollections.cxx:72
 AliFemtoCutMonitorCollections.cxx:73
 AliFemtoCutMonitorCollections.cxx:74
 AliFemtoCutMonitorCollections.cxx:75
 AliFemtoCutMonitorCollections.cxx:76
 AliFemtoCutMonitorCollections.cxx:77
 AliFemtoCutMonitorCollections.cxx:78
 AliFemtoCutMonitorCollections.cxx:79
 AliFemtoCutMonitorCollections.cxx:80
 AliFemtoCutMonitorCollections.cxx:81
 AliFemtoCutMonitorCollections.cxx:82
 AliFemtoCutMonitorCollections.cxx:83
 AliFemtoCutMonitorCollections.cxx:84
 AliFemtoCutMonitorCollections.cxx:85
 AliFemtoCutMonitorCollections.cxx:86
 AliFemtoCutMonitorCollections.cxx:87
 AliFemtoCutMonitorCollections.cxx:88
 AliFemtoCutMonitorCollections.cxx:89
 AliFemtoCutMonitorCollections.cxx:90
 AliFemtoCutMonitorCollections.cxx:91
 AliFemtoCutMonitorCollections.cxx:92
 AliFemtoCutMonitorCollections.cxx:93
 AliFemtoCutMonitorCollections.cxx:94
 AliFemtoCutMonitorCollections.cxx:95
 AliFemtoCutMonitorCollections.cxx:96
 AliFemtoCutMonitorCollections.cxx:97
 AliFemtoCutMonitorCollections.cxx:98
 AliFemtoCutMonitorCollections.cxx:99
 AliFemtoCutMonitorCollections.cxx:100
 AliFemtoCutMonitorCollections.cxx:101
 AliFemtoCutMonitorCollections.cxx:102
 AliFemtoCutMonitorCollections.cxx:103
 AliFemtoCutMonitorCollections.cxx:104