ROOT logo
#include "hparticlecut.h"

templateClassImp(HParticleCut)

//_HADES_CLASS_DESCRIPTION
////////////////////////////////////////////////////////////////////////////////
//
//
// HParticleCut
//
// Helper class for cuts. The synthax for conditions is working like
// T->Draw. Internaly a TTreeFormular is used to map the conditions
// to the leaves and methods of the class. Since the class is using
// template pointers the cuts works for all objects which are added
// as templates in HParticleLinkDef.h (like #pragma link C++ class HParticleCut<HParticleCand>;)
// A cut has a name (should be unique), a cut number (better unique)
// and a condition as argument of creation. The cut object owns counters
// for the number of calls and the number of failed evaluations. The
// The counters cand be used to monitor the efficiency of the cut.
// The cut can be inversed by setInverse(Bool_t).
//
//#########################################################
// USAGE:
//  // outside eventloop:
//  HParticleCut<HParticleCand> cut1("BetaCut",1,"fBeta<1.2&&fBeta>0.9&&isFlagBit(30)==1");
//  // will create a cut object on HParticleCand, selecting beta range and
//  // full reconstrued particles
//  ....
//  //  inside eventloop:
//  if(cut1->eval(cand,0)) { // true if condition is fullfilled , count stat for version 0
//
//  }
//  if(cut1->eval(cand,1)) { // true if condition is fullfilled , count stat for version 1
//
//  }
//
//  ....
//  // after eventloop
//  cut1.print(); // show cut name,number,cut statistics and condition
//
////////////////////////////////////////////////////////////////////////////////
 hparticlecut.cc:1
 hparticlecut.cc:2
 hparticlecut.cc:3
 hparticlecut.cc:4
 hparticlecut.cc:5
 hparticlecut.cc:6
 hparticlecut.cc:7
 hparticlecut.cc:8
 hparticlecut.cc:9
 hparticlecut.cc:10
 hparticlecut.cc:11
 hparticlecut.cc:12
 hparticlecut.cc:13
 hparticlecut.cc:14
 hparticlecut.cc:15
 hparticlecut.cc:16
 hparticlecut.cc:17
 hparticlecut.cc:18
 hparticlecut.cc:19
 hparticlecut.cc:20
 hparticlecut.cc:21
 hparticlecut.cc:22
 hparticlecut.cc:23
 hparticlecut.cc:24
 hparticlecut.cc:25
 hparticlecut.cc:26
 hparticlecut.cc:27
 hparticlecut.cc:28
 hparticlecut.cc:29
 hparticlecut.cc:30
 hparticlecut.cc:31
 hparticlecut.cc:32
 hparticlecut.cc:33
 hparticlecut.cc:34
 hparticlecut.cc:35
 hparticlecut.cc:36
 hparticlecut.cc:37
 hparticlecut.cc:38
 hparticlecut.cc:39
 hparticlecut.cc:40
 hparticlecut.cc:41