25 string locOutputFileName =
"hd_root.root";
26 if(gPARMS->Exists(
"OUTPUT_FILENAME"))
27 gPARMS->GetParameter(
"OUTPUT_FILENAME", locOutputFileName);
30 TFile* locFile = (TFile*)gROOT->FindObject(locOutputFileName.c_str());
36 fTree =
new TTree(
"lut_dirc",
"Look-up table for the geometrical reconstruction.");
38 for(
int l=0; l<48; l++){
39 fLut[l] =
new TClonesArray(
"DrcLutNode");
40 fTree->Branch(Form(
"LUT_%d",l),&
fLut[l],256000,-1);
41 TClonesArray &fLuta = *
fLut[l];
42 for (Long64_t n=0; n<Nnodes; n++) {
51 vector<const DMCThrown*> mcthrowns;
52 vector<const DDIRCTruthPmtHit*> dircPmtHits;
55 loop->Get(dircPmtHits);
57 if(mcthrowns.size()<1)
return NOERROR;
58 if(dircPmtHits.size()!=1)
return NOERROR;
60 japp->RootWriteLock();
63 for (
unsigned int h = 0;
h < dircPmtHits.size();
h++){
65 int ch=dircPmtHits[
h]->ch;
66 int lutId = dircPmtHits[
h]->key_bar;
67 TVector3
dir = TVector3(mcthrowns[0]->momentum().
X(),
68 mcthrowns[0]->momentum().Y(),
69 mcthrowns[0]->momentum().Z()).Unit();
74 if(lutId>=0 && lutId<48)
82 TVector3(dircPmtHits[
h]->
x,dircPmtHits[
h]->
y,dircPmtHits[
h]->z),
83 TVector3(dircPmtHits[
h]->
x,dircPmtHits[
h]->
y,dircPmtHits[
h]->z));
95 japp->RootWriteLock();
DEventProcessor_lut_dirc()
leg AddEntry(hTS_LED,"LED trigger","l")
jerror_t evnt(JEventLoop *loop, uint64_t eventnumber)
~DEventProcessor_lut_dirc()
cout<<"1D histograms: "<< Idx<< endl;hist[k]=(TH1F *) hist_list-> At(k)