Hall-D Software  alpha
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
HistMacro_tagger_enhancement.C
Go to the documentation of this file.
1 // hnamepath: /TAGGER_online/TaggerEnergy_DeltaTSC
2 
3 {
4  TDirectory *locTopDirectory = gDirectory;
5  TDirectory *locDirectory = (TDirectory*)locTopDirectory->FindObjectAny("TAGGER");
6  if(!locDirectory)
7  return;
8  locDirectory->cd();
9 
10  //Get diamond data for display
11  TH2D* locHist_TaggerEnergy_DeltaTSC = (TH2D*)gDirectory->Get("TaggerEnergy_DeltaTSC");
12  int lowTime = locHist_TaggerEnergy_DeltaTSC->GetXaxis()->FindBin(-10.);
13  int highTime = locHist_TaggerEnergy_DeltaTSC->GetXaxis()->FindBin(5.);
14  int lowTimeAcc = locHist_TaggerEnergy_DeltaTSC->GetXaxis()->FindBin(20.);
15  int highTimeAcc = locHist_TaggerEnergy_DeltaTSC->GetXaxis()->FindBin(35.);
16 
17  //Get amorphous data from reference file
18  TFile *f = TFile::Open("/group/halld/Users/jrsteven/RunPeriod-2016-02/hdmon_amorph_reference.root");
19  if(!f) return;
20  TH2D* locHist_TaggerEnergy_DeltaTSC_Amorph = (TH2D*)f->Get("TAGGER/TaggerEnergy_DeltaTSC");
21  if(!locHist_TaggerEnergy_DeltaTSC_Amorph) return;
22 
23  TH1F* locHist_TaggerEnergy = (TH1F*)locHist_TaggerEnergy_DeltaTSC->ProjectionY("TaggerEnergy", lowTime, highTime);
24  locHist_TaggerEnergy->SetTitle("Diamond");
25  TH1F* locHist_TaggerEnergy_Amorph = (TH1F*)locHist_TaggerEnergy_DeltaTSC_Amorph->ProjectionY("TaggerEnergy_Amorph", lowTime, highTime);
26  locHist_TaggerEnergy_Amorph->SetTitle("Amorphous Reference");
27  TH1F* locHist_TaggerEnergyAcc = (TH1F*)locHist_TaggerEnergy_DeltaTSC->ProjectionY("TaggerEnergyAcc", lowTimeAcc, highTimeAcc);
28  TH1F* locHist_TaggerEnergyAcc_Amorph = (TH1F*)locHist_TaggerEnergy_DeltaTSC_Amorph->ProjectionY("TaggerEnergyAcc_Amorph", lowTimeAcc, highTimeAcc);
29  locHist_TaggerEnergy->Rebin(); locHist_TaggerEnergy_Amorph->Rebin();
30  locHist_TaggerEnergyAcc->Rebin(); locHist_TaggerEnergyAcc_Amorph->Rebin();
31 
32  locHist_TaggerEnergy->Add(locHist_TaggerEnergyAcc, -1.);
33  locHist_TaggerEnergy_Amorph->Add(locHist_TaggerEnergyAcc_Amorph, -1.);
34 
35  // make enhancment and scale to lowest energy bin
36  TH1F* locHist_TaggerEnhancement = (TH1F*)locHist_TaggerEnergy->Clone();
37  locHist_TaggerEnhancement->Divide(locHist_TaggerEnergy_Amorph);
38  Double_t scaleFactor = 1.;
39  for(int i=0; i<locHist_TaggerEnhancement->GetXaxis()->GetNbins(); i++){
40  if(locHist_TaggerEnhancement->GetBinContent(i)) {
41  scaleFactor = locHist_TaggerEnhancement->GetBinContent(i);
42  break;
43  }
44  }
45  locHist_TaggerEnhancement->Scale(1./scaleFactor);
46  locHist_TaggerEnhancement->SetTitle("Enhancement: Diamond/Amorphous");
47 
48 
49  //Get/Make Canvas
50  TCanvas *locCanvas = NULL;
51  if(TVirtualPad::Pad() == NULL)
52  locCanvas = new TCanvas("TaggerEnhancement", "TaggerEnhancement", 1200, 500); //for testing
53  else
54  locCanvas = gPad->GetCanvas();
55  locCanvas->Divide(3, 1);
56 
57  //Draw
58  locCanvas->cd(1);
59  if(locHist_TaggerEnergy != NULL) {
60  locHist_TaggerEnergy->GetXaxis()->SetTitleSize(0.05);
61  locHist_TaggerEnergy->GetYaxis()->SetTitleSize(0.05);
62  locHist_TaggerEnergy->GetXaxis()->SetLabelSize(0.05);
63  locHist_TaggerEnergy->GetYaxis()->SetLabelSize(0.05);
64  locHist_TaggerEnergy->Draw();
65  }
66 
67  locCanvas->cd(2);
68  if(locHist_TaggerEnergy_Amorph != NULL) {
69  locHist_TaggerEnergy_Amorph->GetXaxis()->SetTitleSize(0.05);
70  locHist_TaggerEnergy_Amorph->GetYaxis()->SetTitleSize(0.05);
71  locHist_TaggerEnergy_Amorph->GetXaxis()->SetLabelSize(0.05);
72  locHist_TaggerEnergy_Amorph->GetYaxis()->SetLabelSize(0.05);
73  locHist_TaggerEnergy_Amorph->Draw();
74  }
75 
76  locCanvas->cd(3);
77  locHist_TaggerEnhancement->GetXaxis()->SetTitleSize(0.05);
78  locHist_TaggerEnhancement->GetYaxis()->SetTitleSize(0.05);
79  locHist_TaggerEnhancement->GetXaxis()->SetLabelSize(0.05);
80  locHist_TaggerEnhancement->GetYaxis()->SetLabelSize(0.05);
81  locHist_TaggerEnhancement->Draw();
82 }
83 
TH1F * locHist_TaggerEnhancement
TH1F * locHist_TaggerEnergy_Amorph
TF1 * f
Definition: FitGains.C:21
TH1F * locHist_TaggerEnergyAcc_Amorph
TDirectory * locTopDirectory
Definition: HistMacro_p4pi.C:2
TDirectory * locDirectory
TH2D * locHist_TaggerEnergy_DeltaTSC
Double_t scaleFactor
TH2D * locHist_TaggerEnergy_DeltaTSC_Amorph
TH1F * locHist_TaggerEnergy
TH1F * locHist_TaggerEnergyAcc
TCanvas * locCanvas