Step 3: Get and loop over a HepAList<BtaCandidate>*
Go to Step 4
Header file: MyNeuAnalysis.hh
#ifndef MYNEUANALYSIS_HH
#define MYNEUANALYSIS_HH
#include "Framework/AppModule.hh"
#include "AbsEvent/AbsEvent.hh"
#include "HepTuple/Histogram.h"
#include "HepTuple/Tuple.h"
class MyNeuAnalysis : public AppModule {
public:
// Constructors
MyNeuAnalysis( const char* const theName, const char* const theDescription );
// Destructor
virtual ~MyNeuAnalysis( );
// Operations
virtual AppResult beginJob( AbsEvent* anEvent );
virtual AppResult event( AbsEvent* anEvent );
virtual AppResult endJob ( AbsEvent* anEvent );
protected:
private:
HepHistogram *_hpneu;
HepHistogram *_hthetaneu;
HepTuple *_ntuple;
};
#endif
Implementation file: MyNeuAnalysis.cc
#include "AbsEnv/AbsEnv.hh"
#include "GenEnv/GenEnv.hh"
#include "BaBar/BaBar.hh"
#include "BetaMiniUser/MyNeuAnalysis.hh"
#include "HepTuple/TupleManager.h"
#include "Beta/BtaCandidate.hh"
#include "CLHEP/Alist/AList.h"
#include "ProxyDict/Ifd.hh"
#include "CLHEP/Alist/AIterator.h"
// Constructors
MyNeuAnalysis::MyNeuAnalysis( const char* const theName,
const char* const theDescription )
: AppModule( theName, theDescription )
{
}
// Destructor
MyNeuAnalysis::~MyNeuAnalysis( )
{
}
// Operations
AppResult MyNeuAnalysis::beginJob( AbsEvent* anEvent )
{
HepTupleManager* manager = gblEnv->getGen()->ntupleManager();
// book the histograms
_hpneu = manager->histogram("Cluster momentum", 25, 0., 1.0 );
_hthetaneu = manager->histogram("Cluster polar angle", 25, 0., 1.571);
_ntuple = manager->ntuple("MyNtuple");
return AppResult::OK;
}
AppResult MyNeuAnalysis::endJob( AbsEvent* anEvent )
{
return AppResult::OK;
}
AppResult MyNeuAnalysis::event( AbsEvent* anEvent )
{
// get list of neutral particle candidates
HepAList<BtaCandidate>* neuList =
Ifd<HepAList< BtaCandidate > >::get(anEvent, "CalorNeutral");
// loop over the neutral list
HepAListIterator<BtaCandidate> iterNeu(*neuList);
BtaCandidate* neu(0);
while ( neu = iterNeu() ) {
// will soon put code here...
}
return AppResult::OK;
}
Go to Step 4