AlcapDAQ  1
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes | Static Private Attributes
Normalization Class Reference

#include <Normalization.h>

Inheritance diagram for Normalization:
FillHistBase

Public Member Functions

 Normalization (char *HistogramDirectoryName, int threshold)
 
 ~Normalization ()
 
virtual int ProcessEntry (TGlobalData *gData, TSetupData *gSetup)
 
int ProcessGenericEntry (TGlobalData *gData, TSetupData *gSetup)
 
virtual int BeforeFirstEntry (TGlobalData *gData, TSetupData *setup)
 
virtual int AfterLastEntry (TGlobalData *gData, TSetupData *setup)
 
const char * GetName () const
 

Static Public Member Functions

static unsigned int GetMuonCount ()
 

Protected Member Functions

bool Debug () const
 

Protected Attributes

TDirectory * dir
 
TSetupDatafSetup
 

Private Member Functions

bool IsOverThreshold (std::vector< TPulseIsland * >::iterator &)
 

Private Attributes

unsigned int fNMuons
 
int fThreshold
 

Static Private Attributes

static unsigned int N_MU = 0
 

Detailed Description

Definition at line 11 of file Normalization.h.

Constructor & Destructor Documentation

Normalization::Normalization ( char *  HistogramDirectoryName,
int  threshold = 350 
)

Definition at line 12 of file Normalization.cpp.

References hNumberOfMuons, and N_MU.

12  :
13  FillHistBase(HistogramDirectoryName), fNMuons(0), fThreshold(threshold) {
14 
15  N_MU = 0;
16 
17  hNumberOfMuons = new TH1F("hNumberOfMuons", "hNumberOfMuons", 1,0,1);
18 
19  gDirectory->cd("/");
20 }
Normalization::~Normalization ( )

Definition at line 22 of file Normalization.cpp.

22  {
23 }

Member Function Documentation

virtual int FillHistBase::AfterLastEntry ( TGlobalData gData,
TSetupData setup 
)
inlinevirtualinherited

Reimplemented in TestModule.

Definition at line 39 of file FillHistBase.h.

39 {return 0;};
virtual int FillHistBase::BeforeFirstEntry ( TGlobalData gData,
TSetupData setup 
)
inlinevirtualinherited

Reimplemented in ExportPulse, MakeAnalysedPulses, MakeDetectorPulses, MakeMuonEvents, and TestModule.

Definition at line 38 of file FillHistBase.h.

38 {return 0;};
bool FillHistBase::Debug ( ) const
inlineprotectedinherited
unsigned int Normalization::GetMuonCount ( )
static

Definition at line 76 of file Normalization.cpp.

References N_MU.

76  {
77  return N_MU;
78 }
const char* FillHistBase::GetName ( ) const
inlineinherited

Definition at line 40 of file FillHistBase.h.

References FillHistBase::dir.

Referenced by DeadTimeGe::ProcessEntry(), PlotTime::ProcessEntry(), and PlotAmplitude::ProcessEntry().

40 {return dir->GetName();};
bool Normalization::IsOverThreshold ( std::vector< TPulseIsland * >::iterator &  pulse)
private

Definition at line 65 of file Normalization.cpp.

References fThreshold, and samples.

Referenced by ProcessEntry().

65  {
66 
67  std::vector<int> samples = (*pulse)->GetSamples();
68  static std::vector<int>::iterator iSample;
69  for (iSample = samples.begin(); iSample != samples.end(); ++iSample)
70  if (*iSample > fThreshold)
71  return true;
72 
73  return false;
74 }
int Normalization::ProcessEntry ( TGlobalData gData,
TSetupData gSetup 
)
virtual

Reimplemented from FillHistBase.

Definition at line 25 of file Normalization.cpp.

References TSetupData::fBankToDetectorMap, fNMuons, TGlobalData::fPulseIslandToChannelMap, hNumberOfMuons, IsOverThreshold(), and N_MU.

25  {
26 
27  // Make sure no other module changed N_MU
28  if (N_MU != fNMuons) {
29  std::cout << "ERROR: Normalization::N_MU changed unexpectadly!" << std::endl;
30  return -1;
31  }
32  fNMuons = 0;
33 
34  // Find the bankname associated with muSc
35  std::string bankname = "";
36  std::map<std::string, std::string>& B2D = gSetup->fBankToDetectorMap;
37  static std::map<std::string, std::string>::iterator iBank;
38  for (iBank = B2D.begin(); iBank != B2D.end(); ++iBank) {
39  if (iBank->second == "muSc") {
40  bankname = iBank->first;
41  break;
42  }
43  }
44 
45  // Make certain we found muSc
46  if (bankname == "") {
47  std::cout << "Warning: Could not find muSc pulses! (TPulseIsland* vector not found, N_MU set to zero)" << std::endl;
49  return 0;
50  }
51 
52  // Count the muons
53  std::vector<TPulseIsland*>& pulses = gData->fPulseIslandToChannelMap.at(bankname);
54  static std::vector<TPulseIsland*>::iterator iPulse;
55  for (iPulse = pulses.begin(); iPulse != pulses.end(); ++iPulse)
56  if (IsOverThreshold(iPulse))
57  ++fNMuons;
58 
59  N_MU = fNMuons;
60  hNumberOfMuons->Fill("muons", fNMuons);
61 
62  return 0;
63 }
int FillHistBase::ProcessGenericEntry ( TGlobalData gData,
TSetupData gSetup 
)
inherited

Definition at line 24 of file FillHistBase.cpp.

References FillHistBase::dir, and FillHistBase::ProcessEntry().

24  {
25  // This is called by our main routine and would allow later to split into different
26  // process routines if we have more than one Tree and hence different tpyes of data input.
27 
28  if(dir) dir->cd();
29  int ret = ProcessEntry(gData, gSetup);
30  gDirectory->cd("/");
31 
32  return ret;
33 }

Field Documentation

TDirectory* FillHistBase::dir
protectedinherited
unsigned int Normalization::fNMuons
private

Definition at line 19 of file Normalization.h.

Referenced by ProcessEntry().

TSetupData* FillHistBase::fSetup
protectedinherited

Definition at line 44 of file FillHistBase.h.

int Normalization::fThreshold
private

Definition at line 20 of file Normalization.h.

Referenced by IsOverThreshold().

unsigned int Normalization::N_MU = 0
staticprivate

Definition at line 17 of file Normalization.h.

Referenced by GetMuonCount(), Normalization(), and ProcessEntry().


The documentation for this class was generated from the following files: