Example #1
0
// Helper functions to set argument
inline TString parseArg(const TString& input, TString arg, const TString dfval="") {
  if (!arg.EndsWith("=")) arg += "=";
  if (input.Contains(arg)) {
    int sidx = input.Index(arg) + arg.Sizeof() - 1;
    int eidx = input.Index(",", sidx);
    if (eidx < 0) eidx = input.Sizeof();
    return input(sidx, eidx-sidx);
  } else {
    return dfval;
  }
}
TVirtualPad* ParameterEvolutionPlotter::selectNewPad()
{
	TCanvas* c1 = m_canvases[m_canvases.size()-1];
	if ( m_padId>=6 ){
		// Create a new canvas that has the old title "foo 3" but with
		// incremented number: "foo 4". Only one-digit numbers are supported.
		TString title = c1->GetTitle();
		int oldNumber = TString(title[title.Sizeof()-2]).Atoi(); // get last character and turn into integer
		title.Replace(title.Sizeof()-2,1,Form("%i",++oldNumber)); // replace last character with incremented integer
		c1 = selectNewCanvas(title);
	}
	m_padId+=1;
	return c1->cd(m_padId);
}
Example #3
0
void Setoutputfileprefix( TString const& filename ){
  outputfileprefix = filename;
  Int_t pos(0);
  for(Int_t i(0);i<outputfileprefix.Sizeof();i++){
    if(outputfileprefix[i] == '/')
      pos = i;
  }
  outputfileprefix.Remove(0,pos+1);
  outputfileprefix.ReplaceAll(".root","");
}
Example #4
0
void KVINDRAUpDater::SetChVoltParameters(KVDBRun* kvrun)
{


   KVRList* param_list = kvrun->GetLinks("Channel-Volt");
   if (!param_list)
      return;
   if (!param_list->GetSize())
      return;

   KVDetector* kvd;
   KVDBParameterSet* kvps;
   KVCalibrator* kvc;
   TIter next_ps(param_list);


   TString str;

   // Setting Channel-Volts calibration parameters
   while ((kvps = (KVDBParameterSet*) next_ps())) {     // boucle sur les parametres
      str = kvps->GetName();
      str.Remove(str.Sizeof() - 4, 3);  //Removing 3 last letters (ex : "_PG")
      kvd = fArray->GetDetector(str.Data());
      if (!kvd)
         Warning("SetChVoltParameters(UInt_t)", "Dectector %s not found !",
                 str.Data());
      else {                    // detector found
         kvc = kvd->GetCalibrator(kvps->GetName(), kvps->GetTitle());
         if (!kvc)
            Warning("SetChVoltParameters(UInt_t)",
                    "Calibrator %s %s not found !", kvps->GetName(),
                    kvps->GetTitle());
         else {                 //calibrator found
            for (Int_t i = 0; i < kvc->GetNumberParams(); i++) {
               kvc->SetParameter(i, kvps->GetParameter(i));
            }
            kvc->SetStatus(kTRUE);   // calibrator ready
         }                      //calibrator found
      }                         //detector found
   }                            //boucle sur les parameters
}