HighLAND
Public Member Functions | List of all members
IgnoreRightECalRuns3and4Correction Class Reference

#include <IgnoreRightECalRuns3and4Correction.hxx>

Inheritance diagram for IgnoreRightECalRuns3and4Correction:
CorrectionBase

Public Member Functions

 IgnoreRightECalRuns3and4Correction ()
 
void Apply (AnaSpillC &spill)
 Apply the variation to all tracks with TPC info.
 
- Public Member Functions inherited from CorrectionBase
 CorrectionBase (const CorrectionBase &corr)
 Copy constructor.
 
virtual ~CorrectionBase ()
 Everyone should have a destructor.
 
virtual const char * GetName () const
 Return the name of this correction. This overrides the TObject::GetName() interface.
 
const std::string & Name () const
 Return the name of this correction.
 
void SetName (const std::string &name)
 Set the name of this correction.
 
void Enable ()
 Enable the correction.
 
void Disable ()
 Disable the correction.
 
bool IsEnabled () const
 Is the correction enabled.
 
void SetAppliedInInput (bool ap)
 Set the correction as applied in the input file.
 
bool IsAppliedInInput () const
 Is the correction already applied in the input file ?
 
Int_t GetIndex () const
 Return the index of this correction.
 
void SetIndex (Int_t index)
 Set the index of this correction.
 
 ClassDef (CorrectionBase, 2)
 

Additional Inherited Members

- Protected Attributes inherited from CorrectionBase
std::string _name
 The name of this correction.
 
bool _enabled
 Is the correction enabled?
 
bool _appliedInInput
 Is the correction already applied in the input file ?
 
Int_t _index
 The index of the correction.
 

Detailed Description

This correction removes all information from the right ECal in runs 3 and 4 data, and runs 3 and 4 equivalent MC. The reason for this is that a TFB died during the earthquake, and has not been replaced. This affects the ECal PID and energy resolution in a way that a systematic has not been evaluated for yet. So the simple solution is to just ignore that ECal entirely.

The parameters in baseAnalysis.parameters.dat define the run periods for which this correction should be applied.

Definition at line 17 of file IgnoreRightECalRuns3and4Correction.hxx.

Constructor & Destructor Documentation

§ IgnoreRightECalRuns3and4Correction()

IgnoreRightECalRuns3and4Correction::IgnoreRightECalRuns3and4Correction ( )

Constructor, which reads in the parameter file to set up the run periods for which the correction should be applied.

Definition at line 8 of file IgnoreRightECalRuns3and4Correction.cxx.

8  : CorrectionBase() {
9  //********************************************************************
10  _runs_MC.clear();
11  _runs_Data.clear();
12 
13  std::string base = "highlandCorrections.IgnoreRightECal.Runs.";
14  int pairing = 1;
15 
16  // Read in the MC run periods to apply the correction for
17  std::string curr = GetParamString(base + "MC.Lower.", pairing);
18 
19  while (ND::params().HasParameter(curr)) {
20  int lower = ND::params().GetParameterI(curr);
21  curr = GetParamString(base + "MC.Upper.", pairing);
22  int upper = ND::params().GetParameterI(curr);
23  std::pair<int, int> p(lower, upper);
24  _runs_MC.push_back(p);
25  pairing++;
26  curr = GetParamString(base + "MC.Lower.", pairing);
27  }
28 
29  // Read in the Data run periods to apply the correction for
30  pairing = 1;
31  curr = GetParamString(base + "Data.Lower.", pairing);
32 
33  while (ND::params().HasParameter(curr)) {
34  int lower = ND::params().GetParameterI(curr);
35  curr = GetParamString(base + "Data.Upper.", pairing);
36  int upper = ND::params().GetParameterI(curr);
37  std::pair<int, int> p(lower, upper);
38  _runs_Data.push_back(p);
39  pairing++;
40  curr = GetParamString(base + "Data.Lower.", pairing);
41  }
42 }
int GetParameterI(std::string)
Get parameter. Value is returned as integer.
Definition: Parameters.cxx:217
All corrections should be registered with the CorrectionManager.

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