Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 7 additions & 7 deletions include/LCTupleConf.h
Original file line number Diff line number Diff line change
Expand Up @@ -24,20 +24,20 @@ struct CollID : public lcrtrel::LCIntExtension<CollID> {} ;

#define LCT_COLLENTRIES_MAX 1000000
#define LCT_MCPARTICLE_MAX 1000000
#define LCT_RECOPARTICLE_MAX 100000
#define LCT_TRACK_MAX 100000
#define LCT_RECOPARTICLE_MAX 500000
#define LCT_TRACK_MAX 300000
#define LCT_TRACKSTATE_MAX 1000000
#define LCT_CLUSTER_MAX 100000
#define LCT_CLUSTER_MAX 500000
#define LCT_RELATION_MAX 1000000
#define LCT_SIMTRACKERHIT_MAX 1000000
#define LCT_TRACKERHIT_MAX 1000000
#define LCT_SIMTRACKERHIT_MAX 2000000
#define LCT_TRACKERHIT_MAX 3000000
#define LCT_TRACKERRAWHIT_MAX 5000000
#define LCT_SIMCALORIMETERHIT_MAX 1000000
#define LCT_CALORIMETERHIT_MAX 1000000
#define LCT_PARTICLEID_MAX 1000000
#define LCT_VERTEX_MAX 1000
#define LCT_JET_MAX 20
#define LCT_JET_PARTICLES_MAX 20
#define LCT_JET_MAX 200
#define LCT_JET_PARTICLES_MAX 200
#define LCT_ISOLEP_MAX 100000

#define LCT_STRING_MAX 1024
Expand Down
1 change: 1 addition & 0 deletions include/TrackBranches.h
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ class TrackBranches : public CollectionBranches {
float _trrih[ LCT_TRACK_MAX ] {} ;
int _trthn[ LCT_TRACK_MAX ] {} ; // total number of hits
int _trthi[ LCT_TRACK_MAX ][50] {} ; // track hit indices
int _trthd[ LCT_TRACK_MAX ][50] {} ; // track hit subdetector
int _trshn[ LCT_TRACK_MAX ][12] {} ;
int _trnts[ LCT_TRACK_MAX ] {} ;
int _trfts[ LCT_TRACK_MAX ] {} ;
Expand Down
1 change: 1 addition & 0 deletions include/TrackerHitBranches.h
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ class TrackerHitBranches : public CollectionBranches {
double _thpoz[ LCT_TRACKERHIT_MAX ] {} ;
float _thedp[ LCT_TRACKERHIT_MAX ] {} ;
float _thtim[ LCT_TRACKERHIT_MAX ] {} ;
int _thdet[ LCT_TRACKERHIT_MAX ] {} ;

float _thcov[ LCT_TRACKERHIT_MAX ][6] {} ;

Expand Down
71 changes: 35 additions & 36 deletions src/JetBranches.cc
Original file line number Diff line number Diff line change
Expand Up @@ -87,26 +87,27 @@ void JetBranches::initBranches( TTree* tree, const std::string& pre){

tree->Branch( (pre+"jnpid" ).c_str() , &_jnpid , (pre+"jnpid/I").c_str() ) ;
tree->Branch( (pre+"npfojet").c_str(), &_njetpfo , (pre+"npfojet["+pre+"njet]/I").c_str() ) ;
tree->Branch( (pre+"rcidx").c_str(), &_jetpfoori , (pre+"rcidx["+pre+"njet][20]/I").c_str() ) ;
tree->Branch( (pre+"rcidx").c_str(), &_jetpfoori , (pre+"rcidx["+pre+"njet][LCT_JET_PARTICLES_MAX]/I").c_str() ) ;
} // end if

//PFO branches

if(_writeDaughtersParameters) {

tree->Branch( (pre+"ndaughters").c_str(), _ndaughters , (pre+"ndaughters["+pre+"njet]/I").c_str() ) ;
tree->Branch( (pre+"ntracks").c_str(), _ntracks , (pre+"ntracks["+pre+"njet]/I").c_str() ) ;
tree->Branch( (pre+"nclusters").c_str(), _nclusters , (pre+"nclusters["+pre+"njet]/I").c_str() ) ;
tree->Branch( (pre+"daughters_PX").c_str(), _daughters_PX , (pre+"daughters_PX["+pre+"njet][20]/F").c_str() ) ;
tree->Branch( (pre+"daughters_PY").c_str(), _daughters_PY , (pre+"daughters_PY["+pre+"njet][20]/F").c_str() ) ;
tree->Branch( (pre+"daughters_PZ").c_str(), _daughters_PZ , (pre+"daughters_PZ["+pre+"njet][20]/F").c_str() ) ;
tree->Branch( (pre+"daughters_E").c_str(), _daughters_E , (pre+"daughters_E["+pre+"njet][20]/F").c_str() ) ;
tree->Branch( (pre+"daughters_M").c_str(), _daughters_M , (pre+"daughters_M["+pre+"njet][20]/F").c_str() ) ;
tree->Branch( (pre+"daughters_Q").c_str(), _daughters_Q , (pre+"daughters_Q["+pre+"njet][20]/F").c_str() ) ;
tree->Branch( (pre+"daughters_trackD0").c_str(), _daughters_trackD0 , (pre+"daughters_trackD0["+pre+"njet][20]/F").c_str() ) ;
tree->Branch( (pre+"daughters_trackPhi").c_str(), _daughters_trackPhi , (pre+"daughters_trackPhi["+pre+"njet][20]/F").c_str() ) ;
tree->Branch( (pre+"daughters_trackOmega").c_str(), _daughters_trackOmega , (pre+"daughters_trackOmega["+pre+"njet][20]/F").c_str() ) ;
tree->Branch( (pre+"daughters_trackZ0").c_str(), _daughters_trackZ0 , (pre+"daughters_trackZ0["+pre+"njet][20]/F").c_str() ) ;
tree->Branch( (pre+"daughters_trackTanLambda").c_str(), _daughters_trackTanLambda , (pre+"daughters_trackTanLambda["+pre+"njet][20]/F").c_str() ) ;
tree->Branch( (pre+"ntracks").c_str(), _ntracks , (pre+"ntracks["+pre+"njet]/I").c_str() ) ;
tree->Branch( (pre+"nclusters").c_str(), _nclusters , (pre+"nclusters["+pre+"njet]/I").c_str() ) ;
tree->Branch( (pre+"daughters_PX").c_str(), _daughters_PX , (pre+"daughters_PX["+pre+"njet][LCT_JET_PARTICLES_MAX]/F").c_str() ) ;
tree->Branch( (pre+"daughters_PY").c_str(), _daughters_PY , (pre+"daughters_PY["+pre+"njet][LCT_JET_PARTICLES_MAX]/F").c_str() ) ;
tree->Branch( (pre+"daughters_PZ").c_str(), _daughters_PZ , (pre+"daughters_PZ["+pre+"njet][LCT_JET_PARTICLES_MAX]/F").c_str() ) ;
tree->Branch( (pre+"daughters_E").c_str(), _daughters_E , (pre+"daughters_E["+pre+"njet][LCT_JET_PARTICLES_MAX]/F").c_str() ) ;
tree->Branch( (pre+"daughters_M").c_str(), _daughters_M , (pre+"daughters_M["+pre+"njet][LCT_JET_PARTICLES_MAX]/F").c_str() ) ;
tree->Branch( (pre+"daughters_Q").c_str(), _daughters_Q , (pre+"daughters_Q["+pre+"njet][LCT_JET_PARTICLES_MAX]/F").c_str() ) ;
tree->Branch( (pre+"daughters_trackD0").c_str(), _daughters_trackD0 , (pre+"daughters_trackD0["+pre+"njet][LCT_JET_PARTICLES_MAX]/F").c_str() ) ;
tree->Branch( (pre+"daughters_trackPhi").c_str(), _daughters_trackPhi , (pre+"daughters_trackPhi["+pre+"njet][LCT_JET_PARTICLES_MAX]/F").c_str() ) ;
tree->Branch( (pre+"daughters_trackOmega").c_str(), _daughters_trackOmega , (pre+"daughters_trackOmega["+pre+"njet][LCT_JET_PARTICLES_MAX]/F").c_str() ) ;
tree->Branch( (pre+"daughters_trackZ0").c_str(), _daughters_trackZ0 , (pre+"daughters_trackZ0["+pre+"njet][LCT_JET_PARTICLES_MAX]/F").c_str() ) ;
tree->Branch( (pre+"daughters_trackTanLambda").c_str(), _daughters_trackTanLambda , (pre+"daughters_trackTanLambda["+pre+"njet][LCT_JET_PARTICLES_MAX]/F").c_str() ) ;
}


Expand Down Expand Up @@ -196,23 +197,23 @@ void JetBranches::fill(const EVENT::LCCollection* col, EVENT::LCEvent* evt )
_ntracks[ i ] = 0;
_nclusters[ i ] = 0;


for ( size_t j = 0; j < LCT_JET_PARTICLES_MAX ; ++j ) {
if(_writeDaughtersParameters) {

for ( size_t j = 0; j < LCT_JET_PARTICLES_MAX ; ++j ) {
_daughters_PX[ i ][ j ] = 0 ;
_daughters_PY[ i ][ j ] = 0 ;
_daughters_PZ[ i ][ j ] = 0 ;
_daughters_E[ i ][ j ] = 0 ;
_daughters_M[ i ][ j ] = 0 ;
_daughters_Q[ i ][ j ] = 0 ;
_daughters_trackD0[ i ][ j ] = 0;
_daughters_trackD0[ i ][ j ] = 0;
_daughters_trackPhi[ i ][ j ] = 0;
_daughters_trackOmega[ i ][ j ] = 0;
_daughters_trackZ0[ i ][ j ] = 0;
_daughters_trackTanLambda[ i ][ j ] = 0;

}

}
}
}
}

if( !col ) return ;

Expand Down Expand Up @@ -289,18 +290,16 @@ void JetBranches::fill(const EVENT::LCCollection* col, EVENT::LCEvent* evt )
_jcov8[ i ] = jet->getCovMatrix()[8];
_jcov9[ i ] = jet->getCovMatrix()[9];

if(_writeDaughtersParameters){
auto particles = jet->getParticles();
_ndaughters[ i ] = particles.size() ;

int nparticles = std::min<int>( particles.size() , LCT_JET_PARTICLES_MAX ); // check array limit ...
memset( &_jetpfoori[ i ][0], -1, LCT_JET_PARTICLES_MAX ); // init indices
if (_writeDaughtersParameters) {
auto particles = jet->getParticles();
_ndaughters[ i ] = particles.size() ;

int ntracks=0;
int nclusters=0;
int ntracks=0;
int nclusters=0;
int nparticles = std::min<int>( particles.size() , LCT_JET_PARTICLES_MAX ); // check array limit ...

for( int partid = 0 ; partid < nparticles ; ++partid ) {
_daughters_PX[ i ][ partid ] = particles[partid]->getMomentum()[0] ;
for( int partid = 0 ; partid < nparticles ; ++partid ) {
_daughters_PX[ i ][ partid ] = particles[partid]->getMomentum()[0] ;
_daughters_PY[ i ][ partid ] = particles[partid]->getMomentum()[1] ;
_daughters_PZ[ i ][ partid ] = particles[partid]->getMomentum()[2] ;
_daughters_E[ i ][ partid ] = particles[partid]->getEnergy() ;
Expand All @@ -310,7 +309,7 @@ void JetBranches::fill(const EVENT::LCCollection* col, EVENT::LCEvent* evt )
if (abs(_daughters_Q[ i ][ partid ])>0) ntracks++;
if (abs(_daughters_Q[ i ][ partid ])==0) nclusters++;

auto tracks = particles[partid]->getTracks();
auto tracks = particles[partid]->getTracks();
//std::cout << "ntracks = " << tracks.size() << " charge = " << _daughters_Q[ i ][ partid ] << std::endl;

if (tracks.size()>0) {
Expand All @@ -321,12 +320,12 @@ void JetBranches::fill(const EVENT::LCCollection* col, EVENT::LCEvent* evt )
_daughters_trackTanLambda[ i ][ partid ] = tracks[0]->getTanLambda();
}

}
_ntracks[ i ] = ntracks ;
_nclusters[ i ] = nclusters ;
}
_ntracks[ i ] = ntracks ;
_nclusters[ i ] = nclusters ;
}

// write tagginf parameters if it is enabled
// write tagging parameters if it is enabled
if(_writeTaggingParameters) {
std::vector< float > pidvec = pid->getParticleID (jet, algo).getParameters() ;

Expand Down
6 changes: 5 additions & 1 deletion src/TrackBranches.cc
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ void TrackBranches::initBranches( TTree* tree, const std::string& pre){
tree->Branch( (pre+"trthn").c_str() , _trthn , (pre+"trthn["+pre+"ntrk]/I").c_str() ) ;
tree->Branch( (pre+"trthi").c_str() , _trthi , (pre+"trthi["+pre+"ntrk][50]/I").c_str() ) ;
tree->Branch( (pre+"trshn").c_str() , _trshn , (pre+"trshn["+pre+"ntrk][12]/I").c_str() ) ;
tree->Branch( (pre+"trthd").c_str() , _trthd , (pre+"trthd["+pre+"ntrk][50]/I").c_str() ) ;
tree->Branch( (pre+"trnts").c_str() , _trnts , (pre+"trnts["+pre+"ntrk]/I").c_str() ) ;
tree->Branch( (pre+"trfts").c_str() , _trfts , (pre+"trfts["+pre+"ntrk]/I").c_str() ) ;
tree->Branch( (pre+"trsip").c_str() , _trsip , (pre+"trsip["+pre+"ntrk]/I").c_str() ) ;
Expand Down Expand Up @@ -157,7 +158,10 @@ void TrackBranches::fill(const EVENT::LCCollection* col, EVENT::LCEvent* evt ){
int hit_index = ( trk->getTrackerHits().at(ihit) ?
trk->getTrackerHits().at(ihit)->ext<CollIndex>() - 1 :
-1 );

unsigned det = ( trk->getTrackerHits().at(ihit) ?
(unsigned) (trk->getTrackerHits().at(ihit)->getCellID0() & 0x1f) :
0 );
_trthd[ i ][ ihit ] = det ;
_trthi[ i ][ ihit ] = hit_index;

}
Expand Down
3 changes: 3 additions & 0 deletions src/TrackerHitBranches.cc
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ void TrackerHitBranches::initBranches( TTree* tree, const std::string& pre ){
tree->Branch( (pre+"thpoz").c_str() , _thpoz , (pre+"thpoz["+pre+"ntrh]/D").c_str() ) ;
tree->Branch( (pre+"thedp").c_str() , _thedp , (pre+"thedp["+pre+"ntrh]/F").c_str() ) ;
tree->Branch( (pre+"thtim").c_str() , _thtim , (pre+"thtim["+pre+"ntrh]/F").c_str() ) ;
tree->Branch( (pre+"thdet").c_str() , _thdet , (pre+"thdet["+pre+"ntrh]/I").c_str() ) ;

tree->Branch( (pre+"thcov").c_str() , _thcov , (pre+"thcov["+pre+"ntrh][6]/F").c_str() ) ;

Expand Down Expand Up @@ -95,6 +96,8 @@ void TrackerHitBranches::fill(const EVENT::LCCollection* col, const EVENT::LCCol
_thedp[i] = hit->getEDep() ;
_thtim[i] = hit->getTime() ;

_thdet[i] = (unsigned) hit->getCellID0() & 0x1f ;

for(int j=0;j<6;++j){
_thcov[ i ][ j ] = hit->getCovMatrix()[j] ;
}
Expand Down