12 if(gPARMS->Exists(
"DIRC:TRUTH_BARHIT"))
17 locEventLoop->GetSingle(locParticleID);
24 vector<const DDIRCGeometry*> locDIRCGeometry;
25 locEventLoop->Get(locDIRCGeometry);
34 japp->RootWriteLock();
36 string locOutputFileName =
"hd_root.root";
37 if(gPARMS->Exists(
"OUTPUT_FILENAME"))
38 gPARMS->GetParameter(
"OUTPUT_FILENAME", locOutputFileName);
41 TFile* locFile = (TFile*)gROOT->FindObject(locOutputFileName.c_str());
47 TObject* locTree = gDirectory->Get(
"dirc");
49 fTree =
new TTree(
"dirc",
"dirc tree");
51 fTree =
static_cast<TTree*
>(locTree);
53 fcEvent =
new TClonesArray(
"DrcEvent");
64 locEventLoop->GetSingle(locDetectorMatches);
68 vector<const DDIRCTruthBarHit*> locDIRCBarHits;
69 locEventLoop->Get(locDIRCBarHits);
71 vector<const DDIRCPmtHit*> locDIRCPmtHits;
72 locEventLoop->Get(locDIRCPmtHits);
90 int locDCHits = locTrackTimeBased->
Ndof + 5;
91 double locTheta = locTrackTimeBased->
momentum().Theta()*180/TMath::Pi();
92 double locP = locParticle->lorentzMomentum().Vect().Mag();
94 if(locDCHits < 15 || locTheta < 1.0 || locTheta > 12.0 || locP > 12.0)
98 shared_ptr<const DTOFHitMatchParams> locTOFHitMatchParams;
100 if(!foundTOF || locTOFHitMatchParams->dDeltaXToHit > 10.0 || locTOFHitMatchParams->dDeltaYToHit > 10.0)
106 shared_ptr<const DDIRCMatchParams> locDIRCMatchParams;
111 DVector3 posInBar = locDIRCMatchParams->dExtrapolatedPos;
112 DVector3 momInBar = locDIRCMatchParams->dExtrapolatedMom;
113 double locExtrapolatedTime = locDIRCMatchParams->dExtrapolatedTime;
126 for(
const auto dhit : locDIRCPmtHits){
143 japp->RootWriteLock();
144 if(cevt.GetEntriesFast()>0)
fTree->Fill();
void SetTime(Double_t val)
void SetPixelId(Int_t val)
const DKinematicData * Get_FinalParticle_Measured(size_t locFinalParticleIndex) const
void SetLeadTime(Double_t val)
const DTrackTimeBased * Get_TrackTimeBased(void) const
bool Get_DIRCMatchParams(const DTrackingData *locTrack, const DDetectorMatches *locDetectorMatches, shared_ptr< const DDIRCMatchParams > &locBestMatchParams) const
const DParticleID * dParticleID
static int PDGtype(Particle_t p)
const DChargedTrackHypothesis * Get_Hypothesis(Particle_t locPID) const
bool Get_UseKinFitResultsFlag(void) const
void SetParent(Int_t val)
bool Get_BestTOFMatchParams(const DTrackingData *locTrack, const DDetectorMatches *locDetectorMatches, shared_ptr< const DTOFHitMatchParams > &locBestMatchParams) const
const DAnalysisUtilities * dAnalysisUtilities
void SetMomentum(TVector3 val)
size_t Get_NumFinalParticles(void) const
deque< Particle_t > dFinalStatePIDs
void SetChannel(Int_t val)
int Ndof
Number of degrees of freedom in the fit.
const JObject * Get_FinalParticle_SourceObject(size_t locFinalParticleIndex) const
const DDIRCGeometry * dDIRCGeometry
void Initialize(JEventLoop *locEventLoop)
const DVector3 & momentum(void) const
void SetPosition(TVector3 val)
void SetTotTime(Double_t val)
const DParticleComboStep * Get_ParticleComboStep(size_t locStepIndex) const
bool Perform_Action(JEventLoop *locEventLoop, const DParticleCombo *locParticleCombo)
const DKinematicData * Get_FinalParticle(size_t locFinalParticleIndex) const
const DDIRCLut * dDIRCLut
int dParticleComboStepIndex
Particle_t PID(void) const
int GetBar(float y) const