4 #include "DataSample.hxx" 22 SampleGroup(
const std::string& name,
DataSample* dataSample, std::map<std::string, DataSample*>& mcSamples);
23 SampleGroup(
const std::string& name,
const std::string& dataFile, std::map<std::string, std::string>& mcFiles);
30 void AddMCSample(
const std::string& name,
const std::string& file);
34 void AddMCSamples(std::map<std::string, std::string>& mcFiles);
35 void AddMCSamples(std::map<std::string, DataSample*>& mcSamples);
39 if (_dataSamples.size()>0)
return _dataSamples[0];
50 std::map<std::string, DataSample*>&
GetMCSamples(){
return _mcSamples;}
56 void GetPOT(Float_t& POTdata, Float_t& POTmc);
59 void GetPOT(Float_t& POTdata, Float_t& POTmc, Float_t& POTsand);
67 std::vector<DataSample*> _dataSamples;
68 std::map<std::string, DataSample*> _mcSamples;
93 Experiment(
const std::string& name,
const std::string& configfile);
96 Experiment(
const std::string& name,
const std::string& file1,
const std::string& file2);
101 bool HasSampleGroup(
const std::string& name);
105 void AddSampleGroup(
const std::string& name,
SampleGroup& sampleGroup);
109 void AddSampleGroup(
const std::string& name,
const std::string& dataFile, std::map<std::string, std::string>& mcFiles);
112 void AddSampleGroup(
const std::string& name,
DataSample* dataFile, std::map<std::string, DataSample*>& mcSamples);
121 DataSample*
GetDataSample(
const std::string& name){
if (!HasSampleGroup(name))
return NULL;
return GetSampleGroup(name).GetDataSample();}
124 DataSample*
GetMCSample(
const std::string& name,
const std::string& name2){
if (!HasSampleGroup(name))
return NULL;
return GetSampleGroup(name).GetMCSample(name2);}
127 std::map<std::string, DataSample*>&
GetMCSamples(
const std::string& name){HasSampleGroup(name);
return GetSampleGroup(name).GetMCSamples();}
130 void DumpPOT(
const std::string& name);
133 void DumpPOTRatios();
136 Float_t GetOverallPOTRatio();
160 void AddSampleFilesToVector(
SampleGroup& sampleGroup);
std::vector< std::string > _mcFiles
Vector holding all MC file paths associated with this experiment.
bool HasMCSample(const std::string &name)
Check whether the group has a given MC sample.
void SetCurrentTree(const std::string &name)
Set the current configuration to all samples in the SampleGroup.
std::string _tree
The current tree from the tree manager.
std::string _name
What the user called this Experiment.
DataSample * GetDataSample(const std::string &name)
Returns the data sample in group.
std::vector< DataSample * > & GetDataSamples()
Get all MC samples in a group.
void GetPOT(Float_t &POTdata, Float_t &POTmc)
Get the good data and MC POT for this sample group.
DataSample * GetMCSample(const std::string &name, const std::string &name2)
Returns the by name a MC sample in agroup.
std::map< std::string, DataSample * > & GetMCSamples(const std::string &name)
Returns all MC samples in a group.
std::map< std::string, SampleGroup > _sampleGroups
SampleGroup & GetSampleGroup(const std::string &name)
Get a single sample group by name.
std::map< std::string, DataSample * > & GetMCSamples()
Get all MC samples in a group.
std::vector< std::string > GetDataFileVector()
Return pointer to vector of data files.
void AddMCSample(const std::string &name, const std::string &file)
Add a new MC Sample to a group specifying its name (spill, sand, etc)
std::string GetFilePath()
void AddMCSamples(std::map< std::string, std::string > &mcFiles)
Add a set of MC Samples to a group specifying their names (spill, sand, etc)
DataSample * GetDataSample()
Get the data sample in a group.
void AddDataSample(const std::string &file)
Add a new Data Sample to a group (for the moment only one data sample can be added) ...
DataSample * GetMCSample(const std::string &name)
Get a single MC sample in a group by name.
std::vector< std::string > _dataFiles
Vector holding all data file paths associated with this experiment.
std::vector< std::string > GetMCFileVector()
Return pointer to vector of mc files.
const std::string & GetCurrentTree() const
Get the current configuration.
std::map< std::string, SampleGroup > & GetSampleGroups()
Returns all sample groups.