diff --git a/examples/gtrk_e/hcana_class.h b/examples/gtrk_e/hcana_class.h index ba63e9c8d0470cc9345437b1be5ed0ed8b284e1f..bd15df66bbf3678993020df98850959c9f742841 100644 --- a/examples/gtrk_e/hcana_class.h +++ b/examples/gtrk_e/hcana_class.h @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////// // This class has been automatically generated on -// Tue Oct 7 08:29:09 2014 by ROOT version 5.34/06 +// Wed Oct 22 09:01:11 2014 by ROOT version 5.34/06 // from TTree T/Hall A Analyzer Output DST // found on file: hodtest_52949.root ////////////////////////////////////////////////////////// @@ -13,8 +13,6 @@ #include <TFile.h> // Header file for the classes stored in the TTree if any. -#include "./podd/src/THaEvent.h" -#include "./podd/src/THaEvent.h" // Fixed size dimensions of array or collections stored in the TTree if any. @@ -39,7 +37,7 @@ public : Int_t Ndata_H_cal_1pr_epos; Double_t H_cal_1pr_epos[13]; //[Ndata.H.cal.1pr.epos] Int_t Ndata_H_cal_1pr_negadchits; - Double_t H_cal_1pr_negadchits[9]; //[Ndata.H.cal.1pr.negadchits] + Double_t H_cal_1pr_negadchits[10]; //[Ndata.H.cal.1pr.negadchits] Int_t Ndata_H_cal_1pr_posadchits; Double_t H_cal_1pr_posadchits[8]; //[Ndata.H.cal.1pr.posadchits] Int_t Ndata_H_cal_2ta_aneg; @@ -57,9 +55,9 @@ public : Int_t Ndata_H_cal_2ta_epos; Double_t H_cal_2ta_epos[13]; //[Ndata.H.cal.2ta.epos] Int_t Ndata_H_cal_2ta_negadchits; - Double_t H_cal_2ta_negadchits[8]; //[Ndata.H.cal.2ta.negadchits] + Double_t H_cal_2ta_negadchits[9]; //[Ndata.H.cal.2ta.negadchits] Int_t Ndata_H_cal_2ta_posadchits; - Double_t H_cal_2ta_posadchits[7]; //[Ndata.H.cal.2ta.posadchits] + Double_t H_cal_2ta_posadchits[10]; //[Ndata.H.cal.2ta.posadchits] Int_t Ndata_H_cal_3ta_aneg; Double_t H_cal_3ta_aneg[13]; //[Ndata.H.cal.3ta.aneg] Int_t Ndata_H_cal_3ta_aneg_p; @@ -77,7 +75,7 @@ public : Int_t Ndata_H_cal_3ta_negadchits; Double_t H_cal_3ta_negadchits[1]; //[Ndata.H.cal.3ta.negadchits] Int_t Ndata_H_cal_3ta_posadchits; - Double_t H_cal_3ta_posadchits[6]; //[Ndata.H.cal.3ta.posadchits] + Double_t H_cal_3ta_posadchits[9]; //[Ndata.H.cal.3ta.posadchits] Int_t Ndata_H_cal_4ta_aneg; Double_t H_cal_4ta_aneg[13]; //[Ndata.H.cal.4ta.aneg] Int_t Ndata_H_cal_4ta_aneg_p; @@ -95,7 +93,7 @@ public : Int_t Ndata_H_cal_4ta_negadchits; Double_t H_cal_4ta_negadchits[1]; //[Ndata.H.cal.4ta.negadchits] Int_t Ndata_H_cal_4ta_posadchits; - Double_t H_cal_4ta_posadchits[5]; //[Ndata.H.cal.4ta.posadchits] + Double_t H_cal_4ta_posadchits[9]; //[Ndata.H.cal.4ta.posadchits] Int_t Ndata_H_tr_beta; Double_t H_tr_beta[10]; //[Ndata.H.tr.beta] Int_t Ndata_H_tr_chi2; @@ -170,20 +168,9 @@ public : Double_t H_cal_4ta_eplane; Double_t H_cal_4ta_eplane_neg; Double_t H_cal_4ta_eplane_pos; - Double_t H_cal_emax; - Double_t H_cal_eprmax; - Double_t H_cal_mult; Double_t H_cal_nclust; Double_t H_cal_nhits; Double_t H_cal_ntracks; - Double_t H_cal_tre; - Double_t H_cal_trecor; - Double_t H_cal_treplcor; - Double_t H_cal_trepr; - Double_t H_cal_treprcor; - Double_t H_cal_trx; - Double_t H_cal_try; - Double_t H_cal_xmax; Double_t H_gold_dp; Double_t H_gold_e; Double_t H_gold_fp_ph; @@ -358,20 +345,9 @@ public : TBranch *b_H_cal_4ta_eplane; //! TBranch *b_H_cal_4ta_eplane_neg; //! TBranch *b_H_cal_4ta_eplane_pos; //! - TBranch *b_H_cal_emax; //! - TBranch *b_H_cal_eprmax; //! - TBranch *b_H_cal_mult; //! TBranch *b_H_cal_nclust; //! TBranch *b_H_cal_nhits; //! TBranch *b_H_cal_ntracks; //! - TBranch *b_H_cal_tre; //! - TBranch *b_H_cal_trecor; //! - TBranch *b_H_cal_treplcor; //! - TBranch *b_H_cal_trepr; //! - TBranch *b_H_cal_treprcor; //! - TBranch *b_H_cal_trx; //! - TBranch *b_H_cal_try; //! - TBranch *b_H_cal_xmax; //! TBranch *b_H_gold_dp; //! TBranch *b_H_gold_e; //! TBranch *b_H_gold_fp_ph; //! @@ -614,20 +590,9 @@ void hcana_class::Init(TTree *tree) fChain->SetBranchAddress("H.cal.4ta.eplane", &H_cal_4ta_eplane, &b_H_cal_4ta_eplane); fChain->SetBranchAddress("H.cal.4ta.eplane_neg", &H_cal_4ta_eplane_neg, &b_H_cal_4ta_eplane_neg); fChain->SetBranchAddress("H.cal.4ta.eplane_pos", &H_cal_4ta_eplane_pos, &b_H_cal_4ta_eplane_pos); - fChain->SetBranchAddress("H.cal.emax", &H_cal_emax, &b_H_cal_emax); - fChain->SetBranchAddress("H.cal.eprmax", &H_cal_eprmax, &b_H_cal_eprmax); - fChain->SetBranchAddress("H.cal.mult", &H_cal_mult, &b_H_cal_mult); fChain->SetBranchAddress("H.cal.nclust", &H_cal_nclust, &b_H_cal_nclust); fChain->SetBranchAddress("H.cal.nhits", &H_cal_nhits, &b_H_cal_nhits); fChain->SetBranchAddress("H.cal.ntracks", &H_cal_ntracks, &b_H_cal_ntracks); - fChain->SetBranchAddress("H.cal.tre", &H_cal_tre, &b_H_cal_tre); - fChain->SetBranchAddress("H.cal.trecor", &H_cal_trecor, &b_H_cal_trecor); - fChain->SetBranchAddress("H.cal.treplcor", &H_cal_treplcor, &b_H_cal_treplcor); - fChain->SetBranchAddress("H.cal.trepr", &H_cal_trepr, &b_H_cal_trepr); - fChain->SetBranchAddress("H.cal.treprcor", &H_cal_treprcor, &b_H_cal_treprcor); - fChain->SetBranchAddress("H.cal.trx", &H_cal_trx, &b_H_cal_trx); - fChain->SetBranchAddress("H.cal.try", &H_cal_try, &b_H_cal_try); - fChain->SetBranchAddress("H.cal.xmax", &H_cal_xmax, &b_H_cal_xmax); fChain->SetBranchAddress("H.gold.dp", &H_gold_dp, &b_H_gold_dp); fChain->SetBranchAddress("H.gold.e", &H_gold_e, &b_H_gold_e); fChain->SetBranchAddress("H.gold.fp_ph", &H_gold_fp_ph, &b_H_gold_fp_ph); diff --git a/examples/hodtest_mkj.C b/examples/hodtest_mkj.C index eac9af93dc5cab7c4c675dda0282670d1cde2212..08b194d35ec1a43d2c0d6cc7dc4d633618da5c60 100644 --- a/examples/hodtest_mkj.C +++ b/examples/hodtest_mkj.C @@ -1,4 +1,5 @@ -void hodtest_mkj(Int_t RunNumber=50017, Int_t MaxEventToReplay=5000) { +void hodtest_mkj(Int_t RunNumber=50017, Int_t MaxEventToReplay=5000, + Int_t StartEvent=1) { // // Steering script to test hodoscope decoding @@ -69,8 +70,8 @@ void hodtest_mkj(Int_t RunNumber=50017, Int_t MaxEventToReplay=5000) { // Eventually need to learn to skip over, or properly analyze // the pedestal events - run->SetEventRange(1,MaxEventToReplay);// Physics Event number, does not - // include scaler or control events + run->SetEventRange(StartEvent,MaxEventToReplay);// Physics Event number, + // does not include scaler or control events // Define the analysis parameters analyzer->SetCountMode( 0 ); //Mark's modification diff --git a/examples/output_52949.def b/examples/output_52949.def index c58c9a6c6c2c9d0d033239931262813f40e39dfe..6c1f045915c9cb6683e6f3a46fafda984c27fb6f 100644 --- a/examples/output_52949.def +++ b/examples/output_52949.def @@ -57,36 +57,36 @@ TH1F nhits 'HMS Cal sparsified hits' H.cal.nhits 53 -0.5 52.5 TH1F nclust 'HMS Cal number of clusters' H.cal.nclust 11 -0.5 10.5 # Multiplicity of the largest cluster in the Calorimeter. -TH1F mult 'HMS Cal size of largest cluster' H.cal.mult 21 -0.5 20.5 +####TH1F mult 'HMS Cal size of largest cluster' H.cal.mult 21 -0.5 20.5 # Energy deposited in the largest cluster. -TH1F emax 'HMS Cal Max Clust. Edep' H.cal.emax 200 -0.1 1.622 +####TH1F emax 'HMS Cal Max Clust. Edep' H.cal.emax 200 -0.1 1.622 # Preshower Energy from the largest cluster. -TH1F eprmax 'HMS PrSh Max Clust. Edep' H.cal.eprmax 100 -0.1 0.811 +####TH1F eprmax 'HMS PrSh Max Clust. Edep' H.cal.eprmax 100 -0.1 0.811 # X coordinate the largest cluster. -TH1F xmax 'HMS Cal Max Clust. X' H.cal.xmax 150 -75. 75. +####TH1F xmax 'HMS Cal Max Clust. X' H.cal.xmax 150 -75. 75. # Track coordinates at the front of calorimeter -TH2F trx_vs_try 'HMS Track X vs Y at calor.' H.cal.try H.cal.trx 80 -40. 40. 150 -75. 75. H.dc.ntrack==1 -TH1F trx 'HMS Track X at calorimeter' H.cal.trx 150 -75. 75. H.dc.ntrack==1 -TH1F try 'HMS Track Y at calorimeter' H.cal.try 80 -40. 40. H.dc.ntrack==1 +####TH2F trx_vs_try 'HMS Track X vs Y at calor.' H.cal.try H.cal.trx 80 -40. 40. 150 -75. 75. H.dc.ntrack==1 +####TH1F trx 'HMS Track X at calorimeter' H.cal.trx 150 -75. 75. H.dc.ntrack==1 +####TH1F try 'HMS Track Y at calorimeter' H.cal.try 80 -40. 40. H.dc.ntrack==1 # Energy of the cluster associated to the main (currently first) track -TH1F tre 'HMS Cal Track Clust. Edep' H.cal.tre 200 -0.1 1.622 H.dc.ntrack==1 +####TH1F tre 'HMS Cal Track Clust. Edep' H.cal.tre 200 -0.1 1.622 H.dc.ntrack==1 # Preshower Energy of the cluster associated to the main (currently 1st) track -TH1F trepr 'HMS PrSh Track Clust. Edep' H.cal.trepr 100 -0.1 0.811 H.dc.ntrack==1 +####TH1F trepr 'HMS PrSh Track Clust. Edep' H.cal.trepr 100 -0.1 0.811 H.dc.ntrack==1 # Coordinate corrected energy deposition from the main track (currently first) -TH1F trecor 'HMS Cal Track Edep' H.cal.trecor 200 -0.1 1.622 H.dc.ntrack==1 +####TH1F trecor 'HMS Cal Track Edep' H.cal.trecor 200 -0.1 1.622 H.dc.ntrack==1 # Coordinate corrected preshower energy from the main track (currently first) -TH1F treprcor 'HMS PrSh Track Edep' H.cal.treprcor 100 -0.1 0.811 H.dc.ntrack==1 +####TH1F treprcor 'HMS PrSh Track Edep' H.cal.treprcor 100 -0.1 0.811 H.dc.ntrack==1 # Coordinate corrected energy deposition from the main track (currently first) # in the planes. Currently works for the 1-st pnae only. -TH1F treplcor 'HMS Cal Track E1' H.cal.treplcor 100 -0.1 0.811 H.dc.ntrack==1 +####TH1F treplcor 'HMS Cal Track E1' H.cal.treplcor 100 -0.1 0.811 H.dc.ntrack==1 # Calorimeter ADC channels #TH1F hcaladc_A1p 'HMS Cal ADC A1p - PED' H.cal.1pr.apos_p[0] 150 50 500 diff --git a/src/THcShower.cxx b/src/THcShower.cxx index 23cd933863d9acdd764df028779dec4c73eb8f4e..13d5ba8be820e9b996d12afceb577c6d4f7a7067 100644 --- a/src/THcShower.cxx +++ b/src/THcShower.cxx @@ -24,8 +24,6 @@ #include "THaTrackProj.h" #include "TMath.h" -#include "THaTrackProj.h" - #include <cstring> #include <cstdio> #include <cstdlib> @@ -70,6 +68,7 @@ void THcShower::Setup(const char* name, const char* description) }; gHcParms->LoadParmValues((DBRequest*)&list,prefix); + if (fdbg_init_cal) { cout << layernamelist << endl; cout << "Shower Counter: " << fNLayers << " layers" << endl; @@ -404,12 +403,6 @@ Int_t THcShower::ReadDatabase( const TDatime& date ) } - // Corrdinate corrected track energies per plane - - fTREpl_cor = new Double_t [fNLayers]; - fTREpl_pos_cor = new Double_t [fNLayers]; - fTREpl_neg_cor = new Double_t [fNLayers]; - // Origin of the calorimeter, at the centre of the face of the detector, // or at the centre of the front of the 1-st layer. // @@ -452,27 +445,8 @@ Int_t THcShower::DefineVariables( EMode mode ) RVarDef vars[] = { { "nhits", "Number of hits", "fNhits" }, - // { "a", "Raw ADC amplitudes", "fA" }, - // { "a_p", "Ped-subtracted ADC amplitudes", "fA_p" }, - // { "a_c", "Calibrated ADC amplitudes", "fA_c" }, - // { "asum_p", "Sum of ped-subtracted ADCs", "fAsum_p" }, - // { "asum_c", "Sum of calibrated ADCs", "fAsum_c" }, { "nclust", "Number of clusters", "fNclust" }, { "ntracks", "Number of shower tracks", "fNtracks" }, - { "emax", "Energy of largest cluster", "fE" }, - { "eprmax", "Preshower Energy of largest cluster", "fEpr" }, - { "xmax", "x-position (cm) of largest cluster", "fX" }, - // { "z", "z-position (cm) of largest cluster", "fZ" }, - { "mult", "Multiplicity of largest cluster", "fMult" }, - // { "nblk", "Numbers of blocks in main cluster", "fNblk" }, - // { "eblk", "Energies of blocks in main cluster", "fEblk" }, - { "trx", "track x-position in det plane (1st track)", "fTRX" }, - { "try", "track y-position in det plane (1st track)", "fTRY" }, - { "tre", "track energy in the calorimeter (1st track)", "fTRE" }, - { "trepr", "track energy in the preshower (1st track)", "fTREpr" }, - { "trecor", "Y-corrected track Edep (1st track)", "fTRE_cor" }, - { "treprcor", "Y-corrected track Epr (1st track)", "fTREpr_cor" }, - { "treplcor", "Y-corrected track Edep for planes", "fTREpl_cor" }, { 0 } }; return DefineVarsFromList( vars, mode ); @@ -504,8 +478,6 @@ void THcShower::DeleteArrays() delete [] fNLayerZPos; fNLayerZPos = NULL; delete [] XPos; XPos = NULL; delete [] ZPos; ZPos = NULL; - //delete [] fSpacing; fSpacing = NULL; - //delete [] fCenter; fCenter = NULL; // This 2D. What is correct way to delete? } //_____________________________________________________________________________ @@ -519,26 +491,9 @@ void THcShower::Clear(Option_t* opt) fPlanes[ip]->Clear(opt); } - // fTrackProj->Clear(); - fNhits = 0; fNclust = 0; fNtracks = 0; - fMult = 0; - fE = 0.; - fEpr = 0.; - fX = -75.; //out of acceptance - fTRX = -75.; //out of acceptance - fTRY = -40.; //out of acceptance - fTRE = -0.; - fTREpr = -0.; - fTRE_cor = -0.; - fTREpr_cor = -0.; - for(Int_t ip=0;ip<fNLayers;ip++) { - fTREpl_cor[ip] = -0.; - fTREpl_pos_cor[ip] = -0.; - fTREpl_neg_cor[ip] = -0.; - } fClusterList->purge(); @@ -596,19 +551,6 @@ Int_t THcShower::Decode( const THaEvData& evdata ) return nhits; } -//_____________________________________________________________________________ -Int_t THcShower::ApplyCorrections( void ) -{ - return(0); -} - -//_____________________________________________________________________________ -//Double_t THcShower::TimeWalkCorrection(const Int_t& paddle, -// const ESide side) -//{ -// return(0.0); -//} - //_____________________________________________________________________________ Int_t THcShower::CoarseProcess( TClonesArray& tracks) { @@ -632,8 +574,8 @@ Int_t THcShower::CoarseProcess( TClonesArray& tracks) for(Int_t j=0; j < fNLayers; j++) { - if (fdbg_clusters_cal)cout << " Plane " << j << " Eplane = " - << fPlanes[j]->GetEplane() << endl; + if (fdbg_clusters_cal) cout << " Plane " << j << " Eplane = " + << fPlanes[j]->GetEplane() << endl; for (Int_t i=0; i<fNBlocks[j]; i++) { @@ -714,38 +656,6 @@ Int_t THcShower::CoarseProcess( TClonesArray& tracks) } } - // The following is for testing the code, by comparison with Engine. - - // The largest cluster by deposited energy, its size and energy - // depositions. - - if (fNclust != 0) { - - THcShowerCluster* MaxCluster = (*fClusterList).ListedCluster(0); - fE = (*MaxCluster).clE(); - - for (Int_t i=1; i<fNclust; i++) { - - - THcShowerCluster* cluster = (*fClusterList).ListedCluster(i); - - Double_t E = (*cluster).clE(); - - if (fE < E) { - fE = E; - MaxCluster = cluster; - } - } - - fMult = (*MaxCluster).clSize(); // number of hit counters - fEpr = (*MaxCluster).clEpr(); // Preshower energy - fX = (*MaxCluster).clX(); // X coordinate (in vertical direction) - } - - if (fdbg_clusters_cal) - cout << "Max.cluster: fEpr = " << fEpr << " fE = " << fE << " fX = " << fX - << endl; - // Track-to-cluster matching. // @@ -769,86 +679,8 @@ Int_t THcShower::CoarseProcess( TClonesArray& tracks) << endl; } - // Track coordinates at front of the calorimeter, initialize out of - // acceptance. - Double_t Xtr = -75.; - Double_t Ytr = -40.; - - // Associate a cluster to the track. - - Int_t mclust = MatchCluster(theTrack, Xtr, Ytr); - - // if (mclust >= 0) fNtracks++; // number of shower tracks (This is not consistent with engine!) - - // Do this for the 1-st track only for now. - // - if (itrk==0) { - - fTRX = Xtr; // track coordinates at the calorimeter - fTRY = Ytr; - - if (mclust >= 0) { // if there is a matched cluster - - //Assign energies (not Y corrected) of the matched cluster to the track. - THcShowerCluster* cluster = (*fClusterList).ListedCluster(mclust); - fTRE = (*cluster).clE(); - fTREpr = (*cluster).clEpr(); - - // Correct track energy depositions for the impact coordinate. - - fTRE_cor = 0.; // Coord. corrected total energy depostion - - for (Int_t ip=0; ip<fNLayers; ip++) { - - // Coordinate correction factors for positive and negative sides, - // different for single PMT counters in the 1-st two layes and for - // 2 PMT counters in the rear two layers. - Float_t corpos = 1.; - Float_t corneg = 1.; - if (ip < fNegCols) { - corpos = Ycor(Ytr,0); - corneg = Ycor(Ytr,1); - } - else { - corpos = Ycor(Ytr); - corneg = 0.; - } - - if (fdbg_tracks_cal) { - cout << " Plane " << ip << " Ytr = " << Ytr - << " corpos = " << corpos - << " corneg = " << corneg << endl; - } - - fTREpl_pos_cor[ip] = (*cluster).clEplane(ip,0) * corpos; - fTREpl_neg_cor[ip] = (*cluster).clEplane(ip,1) * corneg;; - fTREpl_cor[ip] = fTREpl_pos_cor[ip] + fTREpl_neg_cor[ip]; - - if (fdbg_tracks_cal) { - cout << " fTREpl_pos_cor = " << fTREpl_pos_cor[ip] - << " fTREpl_neg_cor = " << fTREpl_neg_cor[ip] << endl; - } - - fTRE_cor += fTREpl_cor[ip]; - - } //over planes - - fTREpr_cor = fTREpl_cor[0]; // Coord. corrected Edep in Preshower - - if (fdbg_tracks_cal) - cout << " fTREpr = " << fTREpr - << " fTREpr_cor = " << fTREpr_cor << endl; - - } //mclust>=0 - - } //itrk==0 - } //over tracks - if (fdbg_tracks_cal) - cout << "1st track cluster: fTRX = " << fTRX << " fTRY = " << fTRY - << endl; - if (fdbg_clusters_cal) cout << "THcShower::CoarseProcess return ---------------------------" <<endl; @@ -1064,7 +896,7 @@ Int_t THcShower::FineProcess( TClonesArray& tracks ) << " Y = " << theTrack->GetY() << " Theta = " << theTrack->GetTheta() << " Phi = " << theTrack->GetPhi() - << " Enegy = " << energy << endl; + << " Energy = " << energy << endl; } @@ -1075,4 +907,3 @@ Int_t THcShower::FineProcess( TClonesArray& tracks ) ClassImp(THcShower) //////////////////////////////////////////////////////////////////////////////// - diff --git a/src/THcShower.h b/src/THcShower.h index b8d39c32fca9141f59760e643c556661e26683fa..e6a83919cdd3ff49864fc7d5705428830e824882 100644 --- a/src/THcShower.h +++ b/src/THcShower.h @@ -14,8 +14,6 @@ #include "THcShowerCluster.h" #include "TMath.h" -class THaScCalib; - class THcShower : public THaNonTrackingDetector, public THcHitList { public: @@ -28,14 +26,8 @@ public: virtual Int_t CoarseProcess( TClonesArray& tracks ); virtual Int_t FineProcess( TClonesArray& tracks ); - virtual Int_t ApplyCorrections( void ); - Int_t GetNHits() const { return fNhits; } - // These are not used in the calorimeter code. - // Int_t GetNTracks() const { return fTrackProj->GetLast()+1; } - // const TClonesArray* GetTrackHits() const { return fTrackProj; } - Int_t GetNBlocks(Int_t NLayer) const { return fNBlocks[NLayer];} Double_t GetXPos(Int_t NLayer, Int_t NRaw) const { @@ -54,8 +46,6 @@ public: Double_t GetBlockThick(Int_t NLayer) {return BlockThick[NLayer];} - // friend class THaScCalib; not needed for now. - Int_t GetPedLimit(Int_t NBlock, Int_t NLayer, Int_t Side) { if (Side!=0&&Side!=1) { cout << "*** Wrong Side in GetPedLimit:" << Side << " ***" << endl; @@ -82,10 +72,6 @@ public: return fShMinPeds; } - Int_t GetMult() { - return fMult; - } - Int_t GetNLayers() { return fNLayers; } @@ -134,32 +120,12 @@ protected: Int_t fNhits; // Total number of hits Int_t fNclust; // Number of clusters - Int_t fNtracks; // Number of shower tracks, i.e. tracks with - // associated clusters - Double_t fE; // Energy of the largest cluster - Double_t fEpr; // Preshower Energy of the largest cluster - Double_t fX; // x-position (cm) of the largest cluster - Double_t fZ; // z-position (cm) of the largest cluster - Int_t fMult; // # of hits in the largest cluster - // Int_t fNblk; // Number of blocks in main cluster - // Double_t* fEblk; // Energies of blocks in main cluster + Int_t fNtracks; // Number of shower tracks, i.e. number of + // cluster-to-track association THcShowerClusterList* fClusterList; // List of hit clusters - // Track quantities, are here for test purposes. Better to move - // to the track class(es) later on. - - Double_t fTRX; // track x-position in det plane (1st track) - Double_t fTRY; // track y-position in det plane (1st track) - Double_t fTRE; // Energy of a cluster associated to the track - Double_t fTREpr; // Preshower Energy of the track's cluster - Double_t fTRE_cor; // Y-corrected track total energy - Double_t fTREpr_cor; // Y-corrected track Preshower energy - Double_t* fTREpl_cor; // [fNLayers] Y-corrected track energy per plane - Double_t* fTREpl_pos_cor; // [fNLayers] Y-corrected track positive energy per plane - Double_t* fTREpl_neg_cor; // [fNLayers] Y-corrected track negative energy per plane - - // Potential Hall C parameters. Mostly here for demonstration + // Geometrical parameters. char** fLayerNames; Int_t fNLayers; // Number of layers in the calorimeter @@ -204,8 +170,7 @@ protected: void Setup(const char* name, const char* description); - // cluster to track association method. - + // Cluster to track association method. Int_t MatchCluster(THaTrack*, Double_t&, Double_t&); friend class THcShowerPlane; //to access debug flags. diff --git a/src/THcShowerHit.h b/src/THcShowerHit.h index e3569d27e54d3ffebf665e8448c1b00e05f4b4b2..7b97c519ca0519a5869165fcea6e77274a7269c8 100644 --- a/src/THcShowerHit.h +++ b/src/THcShowerHit.h @@ -84,9 +84,9 @@ public: //Print out hit information // void show() { - //cout << "row=" << fRow << " column=" << fCol - // << " x=" << fX << " z=" << fZ - // << " E=" << fE << " Epos=" << fEpos << " Eneg=" << fEneg << endl; + cout << "row=" << fRow << " column=" << fCol + << " x=" << fX << " z=" << fZ + << " E=" << fE << " Epos=" << fEpos << " Eneg=" << fEneg << endl; } };