Skip to content
Snippets Groups Projects
Commit 118c5e26 authored by hallc-online's avatar hallc-online
Browse files

Add E(Tail)%E(PR) 2-dim. plot for the HMS calorimeter.

parent 26353e4c
No related branches found
No related tags found
No related merge requests found
...@@ -50,6 +50,8 @@ class THcShTrack { ...@@ -50,6 +50,8 @@ class THcShTrack {
void SetEs(Double_t* alpha); void SetEs(Double_t* alpha);
Double_t Enorm(); Double_t Enorm();
Double_t EPRnorm();
Double_t ETAnorm();
Double_t GetP() {return P*1000.;} //MeV Double_t GetP() {return P*1000.;} //MeV
...@@ -210,6 +212,45 @@ Double_t THcShTrack::Enorm() { ...@@ -210,6 +212,45 @@ Double_t THcShTrack::Enorm() {
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
Double_t THcShTrack::EPRnorm() {
// Normalized to the track momentum energy depostion in Preshower.
Double_t sum = 0;
for (THcShHitIt iter = Hits.begin(); iter != Hits.end(); iter++) {
UInt_t nblk = (*iter)->GetBlkNumber();
Int_t ncol=(nblk-1)/fNrows+1;
if (ncol==1) {
sum += (*iter)->GetEpos();
sum += (*iter)->GetEneg();
}
}
return sum/P/1000.; //Momentum in MeV.
}
//------------------------------------------------------------------------------
Double_t THcShTrack::ETAnorm() {
// Normalized to the track momentum energy depostion in Preshower.
Double_t sum = 0;
for (THcShHitIt iter = Hits.begin(); iter != Hits.end(); iter++) {
UInt_t nblk = (*iter)->GetBlkNumber();
Int_t ncol=(nblk-1)/fNrows+1;
if (ncol!=1) {
sum += (*iter)->GetEpos();
sum += (*iter)->GetEneg();
}
}
return sum/P/1000.; //Momentum in MeV.
}
//------------------------------------------------------------------------------
//Coordinate correction for single PMT modules. //Coordinate correction for single PMT modules.
//PMT attached at right (positive) side. //PMT attached at right (positive) side.
......
...@@ -60,6 +60,7 @@ class THcShowerCalib { ...@@ -60,6 +60,7 @@ class THcShowerCalib {
TH1F* hEuncSel; TH1F* hEuncSel;
TH1F* hEcal; TH1F* hEcal;
TH2F* hDPvsEcal; TH2F* hDPvsEcal;
TH2F* hETAvsEPR;
private: private:
//// Int_t fRunNumber; //// Int_t fRunNumber;
...@@ -155,6 +156,9 @@ void THcShowerCalib::Init() { ...@@ -155,6 +156,9 @@ void THcShowerCalib::Init() {
hEcal = new TH1F("hEcal", "Edep/P calibrated", 150, 0., 1.5); hEcal = new TH1F("hEcal", "Edep/P calibrated", 150, 0., 1.5);
hDPvsEcal = new TH2F("hDPvsEcal", "#DeltaP versus Edep/P ", hDPvsEcal = new TH2F("hDPvsEcal", "#DeltaP versus Edep/P ",
150,0.,1.5, 250,-12.5,12.5); 150,0.,1.5, 250,-12.5,12.5);
hETAvsEPR = new TH2F("hETAvsEPR", "E_{TA} versus E_{PR}",
300,0.,1.5, 300,0.,1.5);
// Initialize qumulative quantities. // Initialize qumulative quantities.
...@@ -689,7 +693,7 @@ void THcShowerCalib::FillHEcal() { ...@@ -689,7 +693,7 @@ void THcShowerCalib::FillHEcal() {
//// fTree->SetBranchAddress("H.tr.tg_dp",&delta); //// fTree->SetBranchAddress("H.tr.tg_dp",&delta);
hDPvsEcal->Fill(Enorm,delta,1.); hDPvsEcal->Fill(Enorm,delta,1.);
// hESHvsEPR->Fill(trk.EPRnorm(), trk.ESHnorm()); hETAvsEPR->Fill(trk.EPRnorm(), trk.ETAnorm());
output << Enorm*P/1000. << " " << P/1000. << " " << delta << " " output << Enorm*P/1000. << " " << P/1000. << " " << delta << " "
<< trk.GetX() << " " << trk.GetY() << endl; << trk.GetX() << " " << trk.GetY() << endl;
......
...@@ -40,6 +40,11 @@ void hcal_calib(string RunNumber) { ...@@ -40,6 +40,11 @@ void hcal_calib(string RunNumber) {
theShowerCalib.hEuncSel->SetFillColor(kGreen); theShowerCalib.hEuncSel->SetFillColor(kGreen);
theShowerCalib.hEuncSel->DrawCopy("same"); theShowerCalib.hEuncSel->DrawCopy("same");
// E(Tail)%E(Preshower).
Canvas->cd(2);
theShowerCalib.hETAvsEPR->Draw();
// Normalized energy deposition after calibration. // Normalized energy deposition after calibration.
Canvas->cd(3); Canvas->cd(3);
......
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