Skip to content
Snippets Groups Projects
Commit f2c17407 authored by adrien-matta's avatar adrien-matta
Browse files

* Reshaping of the TMust2Spectra Class

parent ebf124f4
No related branches found
No related tags found
No related merge requests found
...@@ -26,224 +26,346 @@ ...@@ -26,224 +26,346 @@
ClassImp(TMust2Spectra) ClassImp(TMust2Spectra)
////////////////////////////////////////////////////////////////////////////////
TMust2Spectra::TMust2Spectra() TMust2Spectra::TMust2Spectra(){
: fMust2Data(new TMust2Data()), fNumberOfTelescope = 0;
fMust2PreTreatedData(new TMust2Data()), fStripX=128;
fMust2Physics(new TMust2Physics()) fStripY=128;
{ fPadSili=16;
fMust2PreTreatedData = fMust2Physics->GetPreTreatedData(); fCrystalCsI=16;
}
////////////////////////////////////////////////////////////////////////////////
TMust2Spectra::TMust2Spectra(unsigned int NumberOfTelescope){
fNumberOfTelescope = NumberOfTelescope;
fStripX=128;
fStripY=128;
fPadSili=16;
fCrystalCsI=16;
} }
////////////////////////////////////////////////////////////////////////////////
TMust2Spectra::~TMust2Spectra(){
}
TMust2Spectra::~TMust2Spectra() ////////////////////////////////////////////////////////////////////////////////
{ void TMust2Spectra::InitRawSpectra(){
TString name;
for (Int_t i = 0; i < fNumberOfTelescope; i++) { // loop on number of detectors
// STRX_E_RAW
name = Form("MM%d_STRX_E_RAW", i+1);
AddTH2(name, name, fStripX, 1, fStripX+1, 512, 0, 8192, "MUST2/RAW/STRXE");
// STRY_E_RAW
name = Form("MM%d_STRY_E_RAW", i+1);
AddTH2(name, name, fStripY, 1, fStripY+1, 512, 0, 8192, "MUST2/RAW/STRYE");
// STRX_T_RAW
name = Form("MM%d_STRX_T_RAW", i+1);
AddTH2(name, name, fStripX, 1, fStripX+1, 512, 0, 8192, "MUST2/RAW/STRXT");
// STRY_T_RAW
name = Form("MM%d_STRY_T_RAW", i+1);
AddTH2(name, name, fStripY, 1, fStripY+1, 512, 0, 8192, "MUST2/RAW/STRYT");
// SILI_E_RAW
name = Form("MM%d_SILI_E_RAW", i+1);
AddTH2(name, name, fPadSili, 1, fPadSili+1, 512, 0, 8192, "MUST2/RAW/SILIE");
// SILI_T_RAW
name = Form("MM%d_SILI_T_RAW", i+1);
AddTH2(name, name, fPadSili, 1, fPadSili+1, 512, 0, 8192, "MUST2/RAW/SILIT");
// CSI_E_RAW
name = Form("MM%d_CSI_E_RAW", i+1);
AddTH2(name, name, fCrystalCsI, 1, fCrystalCsI+1, 512, 0, 8192, "MUST2/RAW/CSIE");
// CSI_T_RAW
name = Form("MM%d_CSI_T_RAW", i+1);
AddTH2(name, name, fCrystalCsI, 1, fCrystalCsI+1, 512, 0, 8192, "MUST2/RAW/CSIT");
// STRX_MULT
name = Form("MM%d_STRX_MULT", i+1);
AddTH1(name, name, fStripX, 1, fStripX+1, "MUST2/RAW/MULT");
// STRY_MULT
name = Form("MM%d_STRY_MULT", i+1);
AddTH1(name, name, fStripX, 1, fStripX+1, "MUST2/RAW/MULT");
// SILI_MULT
name = Form("MM%d_SILI_MULT", i+1);
AddTH1(name, name, fPadSili, 1, fPadSili+1, "MUST2/RAW/MULT");
// CSI_MULT
name = Form("MM%d_CSI_MULT", i+1);
AddTH1(name, name, fCrystalCsI, 1, fCrystalCsI+1, "MUST2/RAW/MULT");
} // end loop on number of detectors
} }
////////////////////////////////////////////////////////////////////////////////
void TMust2Spectra::InitPreTreatedSpectra()
{
TString name;
for (Int_t i = 0; i < fNumberOfTelescope; i++) { // loop on number of detectors
// STRX_E_CAL
name = Form("MM%d_STRX_E_CAL", i+1);
AddTH2(name, name, fStripX, 1, fStripX+1, 500, 0, 50, "MUST2/CAL/STRXE");
// STRY_E_CAL
name = Form("MM%d_STRY_E_CAL", i+1);
AddTH2(name, name, fStripY, 1, fStripY+1, 500, 0, 50, "MUST2/CAL/STRYE");
void TMust2Spectra::InitRawUserSpectra() // STRX_T_CAL
{ name = Form("MM%d_STRX_T_CAL", i+1);
TString name; AddTH2(name, name, fStripX, 1, fStripX+1, 500, 0, 500, "MUST2/CAL/STRXT");
for (Int_t i = 0; i < NUMBERMUST2; ++i) { // loop on number of detectors
// STRX_MULT
name = Form("MM%d_STRX_MULT", i+1);
MM_STRX_MULT[i] = AddTH1(name, name, NUMBERSTRIPS, 1, NUMBERSTRIPS+1, "MUST2/BRUT/MULT");
// STRY_MULT
name = Form("MM%d_STRY_MULT", i+1);
MM_STRY_MULT[i] = AddTH1(name, name, NUMBERSTRIPS, 1, NUMBERSTRIPS+1, "MUST2/BRUT/MULT");
// SILI_MULT
name = Form("MM%d_SILI_MULT", i+1);
MM_SILI_MULT[i] = AddTH1(name, name, NUMBERSILI, 1, NUMBERSILI+1, "MUST2/BRUT/MULT");
// CSI_MULT
name = Form("MM%d_CSI_MULT", i+1);
MM_CSI_MULT[i] = AddTH1(name, name, NUMBERCSI, 1, NUMBERCSI+1, "MUST2/BRUT/MULT");
} // end loop on number of detectors
}
// STRY_T_CAL
name = Form("MM%d_STRY_T_CAL", i+1);
AddTH2(name, name, fStripY, 1, fStripY+1, 500, 0, 500, "MUST2/CAL/STRYT");
// SILI_E_CAL
name = Form("MM%d_SILI_E_CAL", i+1);
AddTH2(name, name, fPadSili, 1, fPadSili+1, 500, 0, 50, "MUST2/CAL/SILIE");
void TMust2Spectra::InitUserSpectra() // SILI_T_CAL
{ name = Form("MM%d_SILI_T_CAL", i+1);
TString name; AddTH2(name, name, fPadSili, 1, fPadSili+1, 500, 0, 50, "MUST2/CAL/SILIT");
for (Int_t i = 0; i < NUMBERMUST2; i++) { // loop on number of detectors
// STRX_E_BRU
name = Form("MM%d_STRX_E_BRU", i+1);
MM_STRX_E_BRU[i] = AddTH2(name, name, NUMBERSTRIPS, 1, NUMBERSTRIPS+1, 512, 0, 8192, "MUST2/BRUT/STRXE");
// STRY_E_BRU
name = Form("MM%d_STRY_E_BRU", i+1);
MM_STRY_E_BRU[i] = AddTH2(name, name, NUMBERSTRIPS, 1, NUMBERSTRIPS+1, 512, 0, 8192, "MUST2/BRUT/STRYE");
// STRX_T_BRU
name = Form("MM%d_STRX_T_BRU", i+1);
MM_STRX_T_BRU[i] = AddTH2(name, name, NUMBERSTRIPS, 1, NUMBERSTRIPS+1, 512, 0, 8192, "MUST2/BRUT/STRXT");
// STRY_T_BRU
name = Form("MM%d_STRY_T_BRU", i+1);
MM_STRY_T_BRU[i] = AddTH2(name, name, NUMBERSTRIPS, 1, NUMBERSTRIPS+1, 512, 0, 8192, "MUST2/BRUT/STRYT");
// SILI_E_BRU
name = Form("MM%d_SILI_E_BRU", i+1);
MM_SILI_E_BRU[i] = AddTH2(name, name, NUMBERSILI, 1, NUMBERSILI+1, 512, 0, 8192, "MUST2/BRUT/SILIE");
// SILI_T_BRU
name = Form("MM%d_SILI_T_BRU", i+1);
MM_SILI_T_BRU[i] = AddTH2(name, name, NUMBERSILI, 1, NUMBERSILI+1, 512, 0, 8192, "MUST2/BRUT/SILIT");
// CSI_E_BRU
name = Form("MM%d_CSI_E_BRU", i+1);
MM_CSI_E_BRU[i] = AddTH2(name, name, NUMBERCSI, 1, NUMBERCSI+1, 512, 0, 8192, "MUST2/BRUT/CSIE");
// CSI_T_BRU
name = Form("MM%d_CSI_T_BRU", i+1);
MM_CSI_T_BRU[i] = AddTH2(name, name, NUMBERCSI, 1, NUMBERCSI+1, 512, 0, 8192, "MUST2/BRUT/CSIT");
// STRX_E_CAL
name = Form("MM%d_STRX_E_CAL", i+1);
MM_STRX_E_CAL[i] = AddTH2(name, name, NUMBERSTRIPS, 1, NUMBERSTRIPS+1, 500, 0, 50, "MUST2/CAL/STRXE");
// STRY_E_CAL
name = Form("MM%d_STRY_E_CAL", i+1);
MM_STRY_E_CAL[i] = AddTH2(name, name, NUMBERSTRIPS, 1, NUMBERSTRIPS+1, 500, 0, 50, "MUST2/CAL/STRYE");
// STRX_T_CAL
name = Form("MM%d_STRX_T_CAL", i+1);
MM_STRX_T_CAL[i] = AddTH2(name, name, NUMBERSTRIPS, 1, NUMBERSTRIPS+1, 500, 0, 500, "MUST2/CAL/STRXT");
// STRY_T_CAL
name = Form("MM%d_STRY_T_CAL", i+1);
MM_STRY_T_CAL[i] = AddTH2(name, name, NUMBERSTRIPS, 1, NUMBERSTRIPS+1, 500, 0, 500, "MUST2/CAL/STRYT");
// SILI_E_CAL
name = Form("MM%d_SILI_E_CAL", i+1);
MM_SILI_E_CAL[i] = AddTH2(name, name, NUMBERSILI, 1, NUMBERSILI+1, 500, 0, 50, "MUST2/CAL/SILIE");
// SILI_T_CAL
name = Form("MM%d_SILI_T_CAL", i+1);
MM_SILI_T_CAL[i] = AddTH2(name, name, NUMBERSILI, 1, NUMBERSILI+1, 500, 0, 50, "MUST2/CAL/SILIT");
// CSI_E_CAL
name = Form("MM%d_CSI_E_CAL", i+1);
MM_CSI_E_CAL[i] = AddTH2(name, name, NUMBERCSI, 1, NUMBERCSI+1, 500, 0, 50, "MUST2/CAL/CSIE");
// CSI_T_CAL
name = Form("MM%d_CSI_T_CAL", i+1);
MM_CSI_T_CAL[i] = AddTH2(name, name, NUMBERCSI, 1, NUMBERCSI+1, 500, 0, 50, "MUST2/CAL/CSIT");
} // end loop on number of detectors
}
// CSI_E_CAL
name = Form("MM%d_CSI_E_CAL", i+1);
AddTH2(name, name, fCrystalCsI, 1, fCrystalCsI+1, 500, 0, 50, "MUST2/CAL/CSIE");
// CSI_T_CAL
name = Form("MM%d_CSI_T_CAL", i+1);
AddTH2(name, name, fCrystalCsI, 1, fCrystalCsI+1, 500, 0, 50, "MUST2/CAL/CSIT");
void TMust2Spectra::FillRawUserSpectra() // STRX_MULT
{ name = Form("MM%d_STRX_MULT", i+1);
AddTH1(name, name, fStripX, 1, fStripX+1, "MUST2/CAL/MULT");
// STRY_MULT
name = Form("MM%d_STRY_MULT", i+1);
AddTH1(name, name, fStripX, 1, fStripX+1, "MUST2/CAL/MULT");
// SILI_MULT
name = Form("MM%d_SILI_MULT", i+1);
AddTH1(name, name, fPadSili, 1, fPadSili+1, "MUST2/CAL/MULT");
// CSI_MULT
name = Form("MM%d_CSI_MULT", i+1);
AddTH1(name, name, fCrystalCsI, 1, fCrystalCsI+1, "MUST2/CAL/MULT");
} // end loop on number of detectors
} }
////////////////////////////////////////////////////////////////////////////////
void TMust2Spectra::FillRawSpectra(TMust2Data* RawData){
TString name;
TString family;
// STRX_E
for (Int_t i = 0; i < RawData->GetMMStripXEMult(); i++) {
name = Form("MM%d_STRX_E_RAW", RawData->GetMMStripXEDetectorNbr(i) );
family = "MUST2/RAW/STRXE";
GetHisto(family,name)
-> Fill(RawData->GetMMStripXEStripNbr(i),
RawData->GetMMStripXEEnergy(i) - 8192);
}
// STRY_E
for (Int_t i = 0; i < RawData->GetMMStripYEMult(); i++) {
name = Form("MM%d_STRY_E_RAW", RawData->GetMMStripYEDetectorNbr(i) );
family = "MUST2/RAW/STRYE";
GetHisto(family,name)
-> Fill(RawData->GetMMStripYEStripNbr(i),
8192 - RawData->GetMMStripYEEnergy(i));
}
// STRX_T
for (Int_t i = 0; i < RawData->GetMMStripXTMult(); i++) {
name = Form("MM%d_STRX_T_RAW", RawData->GetMMStripXTDetectorNbr(i) );
family = "MUST2/RAW/STRXT";
GetHisto(family,name)
-> Fill(RawData->GetMMStripXTStripNbr(i),
RawData->GetMMStripXTTime(i) - 8192);
}
// STRY_T
for (Int_t i = 0; i < RawData->GetMMStripYTMult(); i++) {
name = Form("MM%d_STRY_T_RAW", RawData->GetMMStripYTDetectorNbr(i) );
family = "MUST2/RAW/STRYT";
GetHisto(family,name)
-> Fill(RawData->GetMMStripYTStripNbr(i),
8192 - RawData->GetMMStripYTTime(i));
}
// SILI_E
for (Int_t i = 0; i < RawData->GetMMSiLiEMult(); i++) {
name = Form("MM%d_SILI_E_RAW", RawData->GetMMSiLiEDetectorNbr(i) );
family = "MUST2/RAW/SILIE";
GetHisto(family,name)
-> Fill(RawData->GetMMSiLiEPadNbr(i),
RawData->GetMMSiLiEEnergy(i));
}
// SILI_T
for (Int_t i = 0; i < RawData->GetMMSiLiTMult(); i++) {
name = Form("MM%d_SILI_T_RAW", RawData->GetMMSiLiTDetectorNbr(i) );
family = "MUST2/RAW/SILIT";
GetHisto(family,name)
-> Fill(RawData->GetMMSiLiTPadNbr(i),
RawData->GetMMSiLiTTime(i));
}
// CSI_E
for (Int_t i = 0; i < RawData->GetMMCsIEMult(); i++) {
name = Form("MM%d_CSI_E_RAW", RawData->GetMMCsIEDetectorNbr(i) );
family = "MUST2/RAW/CSIE";
GetHisto(family,name)
-> Fill(RawData->GetMMCsIECristalNbr(i),
RawData->GetMMCsIEEnergy(i));
}
// CSI_T
for (Int_t i = 0; i < RawData->GetMMCsITMult(); i++) {
name = Form("MM%d_CSI_T_RAW", RawData->GetMMCsITDetectorNbr(i) );
family = "MUST2/RAW/CSIT";
GetHisto(family,name)
-> Fill(RawData->GetMMCsITCristalNbr(i),
RawData->GetMMCsITTime(i));
}
void TMust2Spectra::FillUserSpectra()
{
// STRX_E
for (Int_t i = 0; i < fMust2Data->GetMMStripXEMult(); i++) {
MM_STRX_E_BRU[fMust2Data->GetMMStripXEDetectorNbr(i) - 1] -> Fill(fMust2Data->GetMMStripXEStripNbr(i), fMust2Data->GetMMStripXEEnergy(i) - 8192);
}
// STRY_E
for (Int_t i = 0; i < fMust2Data->GetMMStripYEMult(); i++) {
MM_STRY_E_BRU[fMust2Data->GetMMStripYEDetectorNbr(i) - 1] -> Fill(fMust2Data->GetMMStripYEStripNbr(i), 8192 - fMust2Data->GetMMStripYEEnergy(i));
}
// STRX_T
for (Int_t i = 0; i < fMust2Data->GetMMStripXTMult(); i++) {
MM_STRX_T_BRU[fMust2Data->GetMMStripXTDetectorNbr(i) - 1] -> Fill(fMust2Data->GetMMStripXTStripNbr(i), fMust2Data->GetMMStripXTTime(i) - 8192);
}
// STRY_T
for (Int_t i = 0; i < fMust2Data->GetMMStripYTMult(); i++) {
MM_STRY_T_BRU[fMust2Data->GetMMStripYTDetectorNbr(i) - 1] -> Fill(fMust2Data->GetMMStripYTStripNbr(i), 8192 - fMust2Data->GetMMStripYTTime(i));
}
// SILI_E
for (Int_t i = 0; i < fMust2Data->GetMMSiLiEMult(); i++) {
MM_SILI_E_BRU[fMust2Data->GetMMSiLiEDetectorNbr(i) - 1] -> Fill(fMust2Data->GetMMSiLiEPadNbr(i), fMust2Data->GetMMSiLiEEnergy(i));
}
// SILI_T
for (Int_t i = 0; i < fMust2Data->GetMMSiLiTMult(); i++) {
MM_SILI_T_BRU[fMust2Data->GetMMSiLiTDetectorNbr(i) - 1] -> Fill(fMust2Data->GetMMSiLiTPadNbr(i), fMust2Data->GetMMSiLiTTime(i));
}
// CSI_E
for (Int_t i = 0; i < fMust2Data->GetMMCsIEMult(); i++) {
MM_CSI_E_BRU[fMust2Data->GetMMCsIEDetectorNbr(i) - 1] -> Fill(fMust2Data->GetMMCsIECristalNbr(i), fMust2Data->GetMMCsIEEnergy(i));
}
// CSI_T
for (Int_t i = 0; i < fMust2Data->GetMMCsITMult(); i++) {
MM_CSI_T_BRU[fMust2Data->GetMMCsITDetectorNbr(i) - 1] -> Fill(fMust2Data->GetMMCsITCristalNbr(i), fMust2Data->GetMMCsITTime(i));
}
// fill calibrated user spectra
// STRX_E
for (Int_t i = 0; i < fMust2PreTreatedData->GetMMStripXEMult(); i++) {
MM_STRX_E_CAL[fMust2PreTreatedData->GetMMStripXEDetectorNbr(i) - 1] -> Fill(fMust2PreTreatedData->GetMMStripXEStripNbr(i), fMust2PreTreatedData->GetMMStripXEEnergy(i));
}
// STRY_E
for (Int_t i = 0; i < fMust2PreTreatedData->GetMMStripYEMult(); i++) {
MM_STRY_E_CAL[fMust2PreTreatedData->GetMMStripYEDetectorNbr(i) - 1] -> Fill(fMust2PreTreatedData->GetMMStripYEStripNbr(i), fMust2PreTreatedData->GetMMStripYEEnergy(i));
}
// STRX_T
for (Int_t i = 0; i < fMust2PreTreatedData->GetMMStripXTMult(); i++) {
MM_STRX_T_CAL[fMust2PreTreatedData->GetMMStripXTDetectorNbr(i) - 1] -> Fill(fMust2PreTreatedData->GetMMStripXTStripNbr(i), fMust2PreTreatedData->GetMMStripXTTime(i));
}
// STRY_T
for (Int_t i = 0; i < fMust2PreTreatedData->GetMMStripYTMult(); i++) {
MM_STRY_T_CAL[fMust2PreTreatedData->GetMMStripYTDetectorNbr(i) - 1] -> Fill(fMust2PreTreatedData->GetMMStripYTStripNbr(i), fMust2PreTreatedData->GetMMStripYTTime(i));
}
// SILI_E
for (Int_t i = 0; i < fMust2PreTreatedData->GetMMSiLiEMult(); i++) {
MM_SILI_E_CAL[fMust2PreTreatedData->GetMMSiLiEDetectorNbr(i) - 1] -> Fill(fMust2PreTreatedData->GetMMSiLiEPadNbr(i), fMust2PreTreatedData->GetMMSiLiEEnergy(i));
}
// SILI_T
for (Int_t i = 0; i < fMust2PreTreatedData->GetMMSiLiTMult(); i++) {
MM_SILI_T_CAL[fMust2PreTreatedData->GetMMSiLiTDetectorNbr(i) - 1] -> Fill(fMust2PreTreatedData->GetMMSiLiTPadNbr(i), fMust2PreTreatedData->GetMMSiLiTTime(i));
}
// CSI_E
for (Int_t i = 0; i < fMust2PreTreatedData->GetMMCsIEMult(); i++) {
MM_CSI_E_CAL[fMust2PreTreatedData->GetMMCsIEDetectorNbr(i) - 1] -> Fill(fMust2PreTreatedData->GetMMCsIECristalNbr(i), fMust2PreTreatedData->GetMMCsIEEnergy(i));
}
// CSI_T
for (Int_t i = 0; i < fMust2PreTreatedData->GetMMCsITMult(); i++) {
MM_CSI_T_CAL[fMust2PreTreatedData->GetMMCsITDetectorNbr(i) - 1] -> Fill(fMust2PreTreatedData->GetMMCsITCristalNbr(i), fMust2PreTreatedData->GetMMCsITTime(i));
}
} }
////////////////////////////////////////////////////////////////////////////////
void TMust2Spectra::FillPreTreatedSpectra(TMust2Data* PreTreatedData){
TString name ;
TString family;
// STRX_E
for (Int_t i = 0; i < PreTreatedData->GetMMStripXEMult(); i++) {
name = Form("MM%d_STRX_E_CAL", PreTreatedData->GetMMStripXEDetectorNbr(i) );
family = "MUST2/CAL/STRIPXE";
GetHisto(family,name)
-> Fill(PreTreatedData->GetMMStripXEStripNbr(i),
PreTreatedData->GetMMStripXEEnergy(i));
}
// STRY_E
for (Int_t i = 0; i < PreTreatedData->GetMMStripYEMult(); i++) {
name = Form("MM%d_STRY_E_CAL", PreTreatedData->GetMMStripYEDetectorNbr(i) );
family = "MUST2/CAL/STRYE";
GetHisto(family,name)
-> Fill(PreTreatedData->GetMMStripYEStripNbr(i),
PreTreatedData->GetMMStripYEEnergy(i));
}
// STRX_T
for (Int_t i = 0; i < PreTreatedData->GetMMStripXTMult(); i++) {
name = Form("MM%d_STRX_T_CAL", PreTreatedData->GetMMStripXTDetectorNbr(i) );
family = "MUST2/CAL/STRXT";
GetHisto(family,name)
-> Fill(PreTreatedData->GetMMStripXTStripNbr(i),
PreTreatedData->GetMMStripXTTime(i));
}
// STRY_T
for (Int_t i = 0; i < PreTreatedData->GetMMStripYTMult(); i++) {
name = Form("MM%d_STRY_T_CAL", PreTreatedData->GetMMStripYTDetectorNbr(i) );
family = "MUST2/CAL/STRYT";
GetHisto(family,name)
-> Fill(PreTreatedData->GetMMStripYTStripNbr(i),
PreTreatedData->GetMMStripYTTime(i));
}
// SILI_E
for (Int_t i = 0; i < PreTreatedData->GetMMSiLiEMult(); i++) {
name = Form("MM%d_SILI_E_CAL", PreTreatedData->GetMMSiLiEDetectorNbr(i) );
family = "MUST2/CAL/SILIET";
GetHisto(family,name)
-> Fill(PreTreatedData->GetMMSiLiEPadNbr(i),
PreTreatedData->GetMMSiLiEEnergy(i));
}
// SILI_T
for (Int_t i = 0; i < PreTreatedData->GetMMSiLiTMult(); i++) {
name = Form("MM%d_SILI_T_CAL", PreTreatedData->GetMMSiLiTDetectorNbr(i) );
family = "MUST2/CAL/SILIT";
GetHisto(family,name)
-> Fill(PreTreatedData->GetMMSiLiTPadNbr(i),
PreTreatedData->GetMMSiLiTTime(i));
}
// CSI_E
for (Int_t i = 0; i < PreTreatedData->GetMMCsIEMult(); i++) {
name = Form("MM%d_CSI_E_CAL", PreTreatedData->GetMMCsIEDetectorNbr(i) );
family = "MUST2/CAL/CSIE";
GetHisto(family,name)
-> Fill(PreTreatedData->GetMMCsIECristalNbr(i),
PreTreatedData->GetMMCsIEEnergy(i));
}
// CSI_T
for (Int_t i = 0; i < PreTreatedData->GetMMCsITMult(); i++) {
name = Form("MM%d_CSI_T_CAL", PreTreatedData->GetMMCsITDetectorNbr(i) );
family = "MUST2/CAL/CSIT";
GetHisto(family,name)
-> Fill(PreTreatedData->GetMMCsITCristalNbr(i),
PreTreatedData->GetMMCsITTime(i));
}
}
////////////////////////////////////////////////////////////////////////////////
void TMust2Spectra::FillPhysicsSpectra(TMust2Physics* Physics){
TH1* TMust2Spectra::AddTH1(const char* name, const char* title, Int_t nbinsx, Double_t xlow, Double_t xup, const char* family) }
{
// create histo
TH1 *hist = new TH1I(name, title, nbinsx, xlow, xup);
// fill map ////////////////////////////////////////////////////////////////////////////////
fMapHisto[family].push_back(hist); TH1* TMust2Spectra::AddTH1(TString name, TString title, Int_t nbinsx, Double_t xlow, Double_t xup, TString family){
// create histo
TH1 *hist = new TH1D(name, title, nbinsx, xlow, xup);
return hist; vector<TString> index ;
index.push_back(family);
index.push_back(name);
// fill map
fMapHisto[index]=hist;
return hist;
} }
////////////////////////////////////////////////////////////////////////////////
TH1* TMust2Spectra::AddTH2(TString name, TString title, Int_t nbinsx, Double_t xlow, Double_t xup, Int_t nbinsy, Double_t ylow, Double_t yup, TString family){
// create histo
TH1 *hist = new TH2D(name, title, nbinsx, xlow, xup, nbinsy, ylow, yup);
TH1* TMust2Spectra::AddTH2(const char* name, const char* title, Int_t nbinsx, Double_t xlow, Double_t xup, Int_t nbinsy, Double_t ylow, Double_t yup, const char* family) vector<TString> index ;
{ index.push_back(family);
// create histo index.push_back(name);
TH1 *hist = new TH2I(name, title, nbinsx, xlow, xup, nbinsy, ylow, yup);
// fill map
fMapHisto[index]=hist;
return hist;
}
// fill map ////////////////////////////////////////////////////////////////////////////////
fMapHisto[family].push_back(hist); TH1* TMust2Spectra::GetHisto(TString family, TString name){
vector<TString> index ;
index.push_back(family);
index.push_back(name);
return hist; // fill map
return fMapHisto.at(index);
} }
...@@ -25,12 +25,12 @@ ...@@ -25,12 +25,12 @@
// C++ STL headers // C++ STL headers
#include <map> #include <map>
#include <string>
// ROOT headers // ROOT headers
#include "TObject.h" #include "TObject.h"
#include <TH1.h> #include <TH1.h>
#include <TH2.h> #include <TH2.h>
#include <TString.h>
// NPLib headers // NPLib headers
#include "TMust2Data.h" #include "TMust2Data.h"
...@@ -38,84 +38,45 @@ ...@@ -38,84 +38,45 @@
using namespace std; using namespace std;
#define NUMBERMUST2 8
#define NUMBERSTRIPS 128
#define NUMBERSILI 16
#define NUMBERCSI 16
class TMust2Spectra : public TObject { class TMust2Spectra : public TObject {
public: public:
// constructor and destructor // constructor and destructor
TMust2Spectra(); TMust2Spectra();
virtual ~TMust2Spectra(); TMust2Spectra(unsigned int NumberOfTelescope);
virtual ~TMust2Spectra();
// Instantiate and register histo to maps
TH1* AddTH1(const char* name, const char* title, Int_t nbinsx, Double_t xlow, Double_t xup, const char* family = "MUST2"); // Instantiate and register histo to maps
TH1* AddTH2(const char* name, const char* title, Int_t nbinsx, Double_t xlow, Double_t xup, Int_t nbinsy, Double_t ylow, Double_t yup, const char* family = "MUST2"); TH1* AddTH1(TString name, TString title, Int_t nbinsx, Double_t xlow, Double_t xup, TString family);
TH1* AddTH2(TString name, TString title, Int_t nbinsx, Double_t xlow, Double_t xup,
// Initialization methods Int_t nbinsy, Double_t ylow, Double_t yup,TString family);
void InitRawUserSpectra();
void InitUserSpectra(); // Initialization methods
// Filling methods void InitRawSpectra();
void FillRawUserSpectra(); void InitPreTreatedSpectra();
void FillUserSpectra(); void InitPhysicsSpectra();
// getters and setters // Filling methods
// getters void FillRawSpectra(TMust2Data*);
TMust2Data* GetMust2Data() const {return fMust2Data;} void FillPreTreatedSpectra(TMust2Data*);
TMust2Data* GetMust2PreTreatedData() const {return fMust2PreTreatedData;} void FillPhysicsSpectra(TMust2Physics*);
TMust2Physics* GetMust2Physics() const {return fMust2Physics;}
// setters // get map histo which will be used for GSpectra in GUser
void SetMust2Data(TMust2Data* must2Data) {fMust2Data = must2Data;} map< vector<TString>, TH1* > GetMapHisto() const {return fMapHisto;}
void SetMust2PreTreatedData(TMust2Data* must2PreTreatedData) {fMust2PreTreatedData = must2PreTreatedData;} TH1* GetHisto(TString family,TString name);
void SetMust2Data(TMust2Physics* must2Physics) {fMust2Physics = must2Physics;}
private: // Information on MUST2
// get map histo which will be used for GSpectra in GUser unsigned int fNumberOfTelescope;
map< string, vector<TH1*> > GetMapHisto() const {return fMapHisto;} unsigned int fStripX;
unsigned int fStripY;
unsigned int fPadSili;
private: unsigned int fCrystalCsI;
// Data and physics class for Must2
TMust2Data *fMust2Data; private:
TMust2Data *fMust2PreTreatedData; // map holding histo pointers and their family names
TMust2Physics *fMust2Physics; map< vector<TString>, TH1* > fMapHisto;
private:
// map holding histo pointers and their family names ClassDef(TMust2Spectra,1) // Must2Spectra structure
map< string, vector<TH1*> > fMapHisto;
private:
// monodim
TH1 *MM_STRX_MULT[NUMBERMUST2]; // dim = 128
TH1 *MM_STRY_MULT[NUMBERMUST2]; // dim = 128
TH1 *MM_SILI_MULT[NUMBERMUST2]; // dim = 16
TH1 *MM_CSI_MULT[NUMBERMUST2]; // dim = 16
// bidim
TH1 *MM_STRX_E_BRU[NUMBERMUST2]; // dim = 128 x 512
TH1 *MM_STRY_E_BRU[NUMBERMUST2];
TH1 *MM_STRX_T_BRU[NUMBERMUST2];
TH1 *MM_STRY_T_BRU[NUMBERMUST2];
// SiLi E
TH1 *MM_SILI_E_BRU[NUMBERMUST2]; // dim = 16 x 512
TH1 *MM_SILI_T_BRU[NUMBERMUST2]; // dim = 16 x 512
// CsI E
TH1 *MM_CSI_E_BRU[NUMBERMUST2]; // dim = 16 x 512
TH1 *MM_CSI_T_BRU[NUMBERMUST2]; // dim = 16 x 512
// Strips (X,Y) (E.T)
TH1 *MM_STRX_E_CAL[NUMBERMUST2]; // dim = 128 x 500 (50 MeV range)
TH1 *MM_STRY_E_CAL[NUMBERMUST2];
TH1 *MM_STRX_T_CAL[NUMBERMUST2]; // dim = 128 x 500 (500 ns range)
TH1 *MM_STRY_T_CAL[NUMBERMUST2];
// SiLi E
TH1 *MM_SILI_E_CAL[NUMBERMUST2]; // dim = 16 x 512
TH1 *MM_SILI_T_CAL[NUMBERMUST2]; // dim = 16 x 512
// CsI E
TH1 *MM_CSI_E_CAL[NUMBERMUST2]; // dim = 16 x 512
TH1 *MM_CSI_T_CAL[NUMBERMUST2]; // dim = 16 x 512
ClassDef(TMust2Spectra,1) // Must2Spectra structure
}; };
#endif #endif
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment