modified: TrackRecon.C made to changes to make the old analysis histograms switchable. Having problems with the misc branch addresses for 17F reaction data analysis.

modified:   TrackRecon.h
This commit is contained in:
Vignesh Sitaraman 2026-06-03 14:42:16 -04:00
parent a64d45e081
commit 792933de25
2 changed files with 644 additions and 530 deletions

File diff suppressed because it is too large Load Diff

View File

@ -3,24 +3,25 @@
#include <TROOT.h> #include <TROOT.h>
#include <TChain.h> #include <TChain.h>
#include <TApplication.h>
#include <TFile.h> #include <TFile.h>
#include <TSelector.h> #include <TSelector.h>
#include <iomanip> #include <vector>
#include <vector> // Required for vectors #include <utility>
#include <utility> // Required for std::pair #include <unordered_map>
#include <tuple>
#include "Armory/ClassDet.h" #include "Armory/ClassDet.h"
#include "Armory/ClassPW.h" // YOU ADDED THIS (Correct! Defines Coord) #include "Armory/ClassPW.h"
class TrackRecon : public TSelector { class TrackRecon : public TSelector
public : {
TTree *fChain; //!pointer to the analyzed TTree or TChain public:
TTree *fChain; //! pointer to the analyzed TTree or TChain
// Declaration of leaf types // Declaration of leaf types
Det sx3; Det sx3;
Det qqq; Det qqq;
Det pc ; Det pc;
Det misc; Det misc;
ULong64_t evID; ULong64_t evID;
@ -61,9 +62,10 @@ public :
std::vector<std::pair<int, double>> corranoMax; std::vector<std::pair<int, double>> corranoMax;
std::vector<double> cathodeTimes; std::vector<double> cathodeTimes;
std::vector<double> anodeTimes; std::vector<double> anodeTimes;
std::unordered_map<int, std::tuple<int, double, double>> aWireEvents, cWireEvents;
TrackRecon(TTree * /*tree*/ =0) : fChain(0) { } TrackRecon(TTree * /*tree*/ = 0) : fChain(0) {}
virtual ~TrackRecon() { } virtual ~TrackRecon() {}
virtual Int_t Version() const { return 2; } virtual Int_t Version() const { return 2; }
virtual void Begin(TTree *tree); virtual void Begin(TTree *tree);
virtual void SlaveBegin(TTree *tree); virtual void SlaveBegin(TTree *tree);
@ -77,25 +79,28 @@ public :
virtual TList *GetOutputList() const { return fOutput; } virtual TList *GetOutputList() const { return fOutput; }
virtual void SlaveTerminate(); virtual void SlaveTerminate();
virtual void Terminate(); virtual void Terminate();
void OldAnalysis();
ClassDef(TrackRecon,0); ClassDef(TrackRecon, 0);
}; };
#endif #endif
#ifdef TrackRecon_cxx #ifdef TrackRecon_cxx
void TrackRecon::Init(TTree *tree){ void TrackRecon::Init(TTree *tree)
{
if (!tree) return; if (!tree)
return;
fChain = tree; fChain = tree;
fChain->SetMakeClass(1); fChain->SetMakeClass(1);
fChain->SetBranchAddress("evID", &evID, &b_eventID); fChain->SetBranchAddress("evID", &evID, &b_eventID);
fChain->SetBranchAddress("run", &run, &b_run); fChain->SetBranchAddress("run", &run, &b_run);
sx3.SetDetDimension(24,12); sx3.SetDetDimension(24, 12);
qqq.SetDetDimension(4,32); qqq.SetDetDimension(4, 32);
pc.SetDetDimension(2,24); pc.SetDetDimension(2, 24);
fChain->SetBranchAddress("sx3Multi", &sx3.multi, &b_sx3Multi); fChain->SetBranchAddress("sx3Multi", &sx3.multi, &b_sx3Multi);
fChain->SetBranchAddress("sx3ID", &sx3.id, &b_sx3ID); fChain->SetBranchAddress("sx3ID", &sx3.id, &b_sx3ID);
@ -112,22 +117,19 @@ void TrackRecon::Init(TTree *tree){
fChain->SetBranchAddress("pcCh", &pc.ch, &b_pcCh); fChain->SetBranchAddress("pcCh", &pc.ch, &b_pcCh);
fChain->SetBranchAddress("pcE", &pc.e, &b_pcE); fChain->SetBranchAddress("pcE", &pc.e, &b_pcE);
fChain->SetBranchAddress("pcT", &pc.t, &b_pcT); fChain->SetBranchAddress("pcT", &pc.t, &b_pcT);
fChain->SetBranchAddress("miscMulti", &misc.multi, &b_miscMulti);
fChain->SetBranchAddress("miscID", &misc.id, &b_miscID);
fChain->SetBranchAddress("miscCh", &misc.ch, &b_miscCh);
fChain->SetBranchAddress("miscE", &misc.e, &b_miscE);
fChain->SetBranchAddress("miscT", &misc.t, &b_miscT);
fChain->SetBranchAddress("miscf", &misc.tf, &b_miscTf);
} }
Bool_t TrackRecon::Notify(){ Bool_t TrackRecon::Notify()
{
return kTRUE; return kTRUE;
} }
void TrackRecon::SlaveBegin(TTree * /*tree*/){ void TrackRecon::SlaveBegin(TTree * /*tree*/)
{
// TString option = GetOption(); // TString option = GetOption();
} }
void TrackRecon::SlaveTerminate(){ void TrackRecon::SlaveTerminate()
{
} }
#endif // #ifdef TrackRecon_cxx #endif // #ifdef TrackRecon_cxx