function 2:
void EnergyDepositionInPaddles(TTree* mrdtree){
// Distributions of E Deposition in each Panel, bins are Scintillator Paddles
// ============================================================================
// Create canvas and divide into pads for each layer.
TCanvas edeposCanv2 = TCanvas("edeposCanv2","Title",8,59,1266,737);
edeposCanv2.Clear();
edeposCanv2.Divide(4,3);
// create array of total energy depositions in each layer
Double_t* totedepinpanels = new Double_t[mrdnumlayers];
// set up aliases for paddle and panel number based on geant4 copy number
mrdtree->SetAlias("mrdhit_panelnum",Form("TMath::Floor(mrdhit_copynum/%d)",mrdpaddlesperpanel));
mrdtree->SetAlias("mrdhit_paddlenum",Form("mrdhit_copynum-(mrdhit_panelnum*%d)",mrdpaddlesperpanel));
// loop over all panels
for(Int_t panelnum=0;panelnum<mrdnumlayers;panelnum++){
edeposCanv2.cd(panelnum+1);
// draw all hits, using alias to cut hits in a given panel, weighting each by their energy deposition
mrdtree->Draw(Form("mrdhit_paddlenum>>edepinpanel%d(%d,1,%d)",panelnum,mrdpaddlesperpanel,mrdpaddlesperpanel+1),Form("mrdhit_edep*(mrdhit_panelnum==%d)",panelnum));
// retrieve the current pad
TCanvas* currentcanvas = (TCanvas*)edeposCanv2.GetPrimitive(Form("edeposCanv2_%d",panelnum+1));
// retrieve the generated histogram from that pad
TH1F* edepinpanel = (TH1F*)currentcanvas->GetPrimitive(Form("edepinpanel%d",panelnum));
// formatting
edepinpanel->SetTitle(Form("Energy Deposition in MRD Layer %d;Paddle Number;Total Energy Deposited",panelnum));
edepinpanel->GetXaxis()->CenterLabels();
// store to output file
edepinpanel->Write();
// integrate energy and add into total energy deposited in this panel
Double_t totedepinpanel = edepinpanel->Integral();
totedepinpanels[panelnum]=totedepinpanel;
}
// save a picture of all plots to file
edeposCanv2.cd();
edeposCanv2.Modified();
edeposCanv2.SaveAs("deposition in panels.png");