Skip to content

Commit b077d8a

Browse files
authored
Merge pull request #176 from JeffersonLab/sdobbs_throwntree_aug24
Fix for crashes when running over thrown trees
2 parents f2273fb + c029503 commit b077d8a

File tree

2 files changed

+11
-8
lines changed

2 files changed

+11
-8
lines changed

libraries/DSelector/DSelector.cc

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -85,9 +85,9 @@ void DSelector::Init(TTree *locTree)
8585

8686
void DSelector::Setup_Branches(void)
8787
{
88-
bool locIsMCFlag = (dTreeInterface->Get_Branch("MCWeight") != NULL);
89-
bool locIsMCGenOnlyFlag = (dTreeInterface->Get_Branch("NumCombos") == NULL);
90-
88+
dIsMCFlag = (dTreeInterface->Get_Branch("MCWeight") != NULL);
89+
dIsMCGenOnlyFlag = (dTreeInterface->Get_Branch("NumCombos") == NULL);
90+
9191
// EVENT DATA
9292
dRunNumber = (UInt_t*)dTreeInterface->Get_Branch("RunNumber")->GetAddress();
9393
dEventNumber = (ULong64_t*)dTreeInterface->Get_Branch("EventNumber")->GetAddress();
@@ -99,20 +99,20 @@ void DSelector::Setup_Branches(void)
9999
dL1FCALEnergy = (locL1FCALEnergyBranch != NULL) ? (Double_t*)locL1FCALEnergyBranch->GetAddress() : NULL;
100100

101101
// MC
102-
if(locIsMCFlag)
102+
if(dIsMCFlag)
103103
{
104104
dMCWeight = (Float_t*)dTreeInterface->Get_Branch("MCWeight")->GetAddress();
105105
TBranch* locGenEnergyBranch = dTreeInterface->Get_Branch("GeneratedEnergy");
106106
dGeneratedEnergy = (locGenEnergyBranch != NULL) ? (Float_t*)locGenEnergyBranch->GetAddress() : NULL;
107107
dNumThrown = (UInt_t*)dTreeInterface->Get_Branch("NumThrown")->GetAddress();
108108
dNumPIDThrown_FinalState = (ULong64_t*)dTreeInterface->Get_Branch("NumPIDThrown_FinalState")->GetAddress();
109109
dPIDThrown_Decaying = (ULong64_t*)dTreeInterface->Get_Branch("PIDThrown_Decaying")->GetAddress();
110-
if(!locIsMCGenOnlyFlag)
110+
if(!dIsMCGenOnlyFlag)
111111
dIsThrownTopology = (Bool_t*)dTreeInterface->Get_Branch("IsThrownTopology")->GetAddress();
112112
}
113113

114114
// DATA
115-
if(!locIsMCGenOnlyFlag)
115+
if(!dIsMCGenOnlyFlag)
116116
{
117117
dNumBeam = (UInt_t*)dTreeInterface->Get_Branch("NumBeam")->GetAddress();
118118
dNumChargedHypos = (UInt_t*)dTreeInterface->Get_Branch("NumChargedHypos")->GetAddress();
@@ -247,7 +247,7 @@ Bool_t DSelector::Process(Long64_t locEntry)
247247

248248
// zero out loop indicies if there are no trigger bits set, so that we skip such events
249249
// leave this as an togglable option for trigger studies
250-
if( (dL1TriggerBits==0) && dSkipNoTriggerEvents) {
250+
if( (dL1TriggerBits==0) && dSkipNoTriggerEvents && !dIsMCGenOnlyFlag ) {
251251
*dNumBeam = 0;
252252
*dNumChargedHypos = 0;
253253
*dNumNeutralHypos = 0;

libraries/DSelector/DSelector.h

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,8 @@ class DSelector : public TSelector
5959
bool dSaveDefaultFlatBranches; // True by default
6060
bool dSaveTLorentzVectorsAsFundamentaFlatTree; // False by default. True: save TLorentzVector info instead as four doubles, rather than as TLorentzVector objects.
6161
bool dSkipNoTriggerEvents; // True by default
62+
bool dIsMCFlag; // False by default
63+
bool dIsMCGenOnlyFlag; // False by default
6264

6365
//TREE INTERFACE
6466
DTreeInterface* dTreeInterface; //for event-based tree
@@ -198,7 +200,8 @@ class DSelector : public TSelector
198200

199201
inline DSelector::DSelector(TTree* locTree) :
200202
dInitializedFlag(false), dOption(""), dOutputFileName(""), dOutputTreeFileName(""), dFlatTreeFileName(""), dSaveDefaultFlatBranches(true),
201-
dSaveTLorentzVectorsAsFundamentaFlatTree(false), dSkipNoTriggerEvents(true), dTreeInterface(NULL), dFlatTreeInterface(NULL),
203+
dSaveTLorentzVectorsAsFundamentaFlatTree(false), dSkipNoTriggerEvents(true), dIsMCFlag(false), dIsMCGenOnlyFlag(false),
204+
dTreeInterface(NULL), dFlatTreeInterface(NULL),
202205
dAnalysisUtilities(DAnalysisUtilities()), dTargetCenter(TVector3()), dTargetP4(TLorentzVector()), dTargetPID(Unknown),
203206
dThrownBeam(NULL), dThrownWrapper(NULL), dChargedHypoWrapper(NULL), dNeutralHypoWrapper(NULL),
204207
dBeamWrapper(NULL), dComboWrapper(NULL), dAnalysisActions(vector<DAnalysisAction*>()),

0 commit comments

Comments
 (0)