+//
+// Class to do the sharing correction for MC data.
+//
#ifndef ALIFMDMCSHARINGFILTER_H
#define ALIFMDMCSHARINGFILTER_H
+/**
+ * @file AliFMDMCSharingFilter.h
+ * @author Christian Holm Christensen <cholm@dalsgaard.hehi.nbi.dk>
+ * @date Wed Mar 23 14:03:47 2011
+ *
+ * @brief
+ *
+ *
+ * @ingroup pwg2_forward_aod
+ */
#include "AliFMDSharingFilter.h"
class AliMCEvent;
*
* @par Input:
* - AliESDFMD object - from reconstruction
+ * - Kinematics
+ * - Track-References
*
* @par Output:
* - AliESDFMD object - copy of input, but with signals merged
*
* @par Corrections used:
- * - AliCorrELossFit
+ * - None
*
* @par Histograms:
* - For each ring (FMD1i, FMD2i, FMD2o, FMD3i, FMD3o) the distribution of
*
* @ingroup pwg2_forward_algo
* @ingroup pwg2_forward_mc
+ * @ingroup pwg2_forward_aod
*/
class AliFMDMCSharingFilter : public AliFMDSharingFilter
{
/**
* Default Constructor - do not use
*/
- AliFMDMCSharingFilter();
+ AliFMDMCSharingFilter()
+ : AliFMDSharingFilter(),
+ fFMD1i(0),
+ fFMD2i(0),
+ fFMD2o(0),
+ fFMD3i(0),
+ fFMD3o(0),
+ fSumEta(0)
+ {}
/**
* Constructor
*
*/
AliFMDMCSharingFilter& operator=(const AliFMDMCSharingFilter& o);
/**
- * Filter the input AliESDFMD object
+ * Filter the input kinematics and track references, using
+ * some of the ESD information
*
- * @param input Input (from ESD) - used for eta
- * @param lowFlux If this is a low-flux event
- * @param output Output AliESDFMD object
- *
- * @return True on success, false otherwise
+ * @param input Input ESD event
+ * @param event Input MC event
+ * @param vz Vertex position
+ * @param output Output ESD-like object
+ * @param primary Per-event histogram of primaries
+ *
+ * @return True on succes, false otherwise
*/
Bool_t FilterMC(const AliESDFMD& input,
const AliMCEvent& event,
Double_t vz,
- AliESDFMD& output);
+ AliESDFMD& output,
+ TH2D* primary);
/**
* Compare the result of merging to the monte-carlo truth. This
* fills the correlation histograms
* @param dir Where the output is
* @param nEvents Number of events
*/
- void ScaleHistograms(TList* dir, Int_t nEvents);
+ void ScaleHistograms(const TList* dir, Int_t nEvents);
/**
* Print information
*
*/
void Print(Option_t* option="") const;
protected:
+ /**
+ * Store a particle hit in FMD<i>dr</i>[<i>s,t</i>] in @a output
+ *
+ * @param d Detector
+ * @param r Ring
+ * @param s Sector
+ * @param t Strip
+ * @param output Output ESD object
+ */
void StoreParticle(UShort_t d, Char_t r, UShort_t s, UShort_t t,
AliESDFMD& output) const;
TH2D* fFMD1i; // ESD-MC correlation