ROOT logo
void FitSpectrum(const char* filename, const char * listName = "clambdak0Histo_00", const char* suffix = "test",Int_t ihist = 0, Int_t iparticle) {
  
  // load basic libs, needed to 
  //gROOT->LoadMacro("run.C");
  gROOT->LoadMacro("runQA.C");
  InitAndLoadLibs();

  // Load Lee's Macro
  gROOT->LoadMacro("AliMassFitControl.h+g");
  gROOT->LoadMacro("PtMassAna2.C");
  gROOT->LoadMacro("MultYields2QA.C");

  char* histName = 0;
  switch (iparticle) {
  case 0:
    switch (ihist){
          case 0:
    		histName = "h2PtVsMassK0";
                break;
          case 1:
		histName = "h2DcaPosToPrimVertexK0vsMassK0";
		break;
          case 2:
		histName = "h2DcaNegToPrimVertexK0vsMassK0";
		break;
          case 3:
		histName = "h2RadiusV0K0vsMassK0pt1";
		break;
          case 4:
		histName = "h2DecayLengthV0K0vsMassK0pt1";   
		break;
          case 5:
		histName = "h2DcaV0DaughtersK0vsMassK0";
		break;
          case 6:
		histName = "h2CosPointAngleK0vsMassK0";
		break;
          default;
          cout << "histogram " << histName << endl;
          }
    cout << "Particle "<< iparticle << " to be implemented" << endl;  
    break;
  case 1:
    switch (ihist){
          case 0:
		histName = "h2PtVsMassLambda";   
		break;
          case 1:
		histName = "h2DcaPosToPrimVertexLvsMassL";   
		break;
          case 2:
		histName = "h2DcaNegToPrimVertexLvsMassL";   
		break;
          case 3:
		histName = "h2RadiusV0LvsMassL";   
		break;
          case 4:
		histName = "h2DecayLengthV0LvsMassL";   
		break;
          case 5:
		histName = "h2DcaV0DaughtersLvsMassL";
		break;
          case 6:
		histName = "h2CosPointAngleLvsMassL";
		break;
          default;
          cout << "histogram " << histName << endl;
          }
    cout << "Particle "<< iparticle << " to be implemented" << endl; 
    break; 
  case 2:
    switch (ihist){
          case 0:
		histName = "h2PtVsMassAntiLambda";   
		break;
          case 1:
		histName = "h2DcaPosToPrimVertexLvsMassL";   
		break;
          case 2:
		histName = "h2DcaNegToPrimVertexLvsMassL";   
		break;
          case 3:
		histName = "h2RadiusV0LvsMassL";   
		break;
          case 4:
		histName = "h2DecayLengthV0LvsMassL";   
		break;
          case 5:
		histName = "h2DcaV0DaughtersLvsMassL";
		break;
          case 6:
		histName = "h2CosPointAngleLvsMassL";
		break;
          default;
          cout << "histogram " << histName << endl;
          }
    cout << "Particle "<< iparticle << " to be implemented" << endl; 
    break; 

  }

  TFile *file = new TFile(filename);
  TList *list = file->Get(listName); 

  TH2F * h2 = (TH2F*) list->FindObject(histName);
  h2->Draw();
  
  ///// iNorm is used by MultYields2QA to normalize the distributions
  TH1F * h1 = (TH1F*) list->FindObject("h1PrimaryVertexZ");
  Int_t iNorm = h1->GetEntries();
  cout << "number of entries with Zvertex < |10cm|: " << iNorm;

  TString suffixFull = histName;
  if(strlen(suffix)) suffixFull = suffixFull + "_" + suffix;
  //MultYields3((TH3F*)h2,iparticle,0,suffixFull); // FIXME: modify MultYields2 to handle 1D histos
  MultYields2QA(h2,iparticle,ihist,iNorm,0,suffixFull); // FIXME: modify MultYields2 to handle 1D histos

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