#ifndef ALIANALYSISMUMUCUTREGISTRY_H
#define ALIANALYSISMUMUCUTREGISTRY_H
#include "TObject.h"
#include "TString.h"
#include "TMethodCall.h"
#include "AliAnalysisMuMuCutElement.h"
class AliVEvent;
class AliAnalysisMuMuCutElementBar;
class AliAnalysisMuMuCutCombination;
class AliVParticle;
class AliVEventHandler;
class AliAnalysisMuMuCutRegistry : public TObject
{
public:
AliAnalysisMuMuCutRegistry();
virtual ~AliAnalysisMuMuCutRegistry();
AliAnalysisMuMuCutElement* AddEventCut(TObject& cutClass,
const char* cutMethodName,
const char* cutMethodPrototype,
const char* defaultParameters);
AliAnalysisMuMuCutElement* AddTrackCut(TObject& cutClass,
const char* cutMethodName,
const char* cutMethodPrototype,
const char* defaultParameters);
AliAnalysisMuMuCutElement* AddTrackPairCut(TObject& cutClass,
const char* cutMethodName,
const char* cutMethodPrototype,
const char* defaultParameters);
AliAnalysisMuMuCutElement* AddTriggerClassCut(TObject& cutClass,
const char* cutMethodName,
const char* cutMethodPrototype,
const char* defaultParameters);
AliAnalysisMuMuCutElement* Not(const AliAnalysisMuMuCutElement& cutElement);
AliAnalysisMuMuCutElement* AddCutElement(AliAnalysisMuMuCutElement* ce);
Int_t AddCutCombination(const TObjArray& cutElements);
Int_t AddCutCombination(AliAnalysisMuMuCutElement* ce1);
Int_t AddCutCombination(AliAnalysisMuMuCutElement* ce1, AliAnalysisMuMuCutElement* ce2);
Int_t AddCutCombination(AliAnalysisMuMuCutElement* ce1, AliAnalysisMuMuCutElement* ce2, AliAnalysisMuMuCutElement* ce3);
Int_t AddCutCombination(AliAnalysisMuMuCutElement* ce1, AliAnalysisMuMuCutElement* ce2, AliAnalysisMuMuCutElement* ce3,
AliAnalysisMuMuCutElement* ce4);
Int_t AddCutCombination(AliAnalysisMuMuCutElement* ce1, AliAnalysisMuMuCutElement* ce2, AliAnalysisMuMuCutElement* ce3,
AliAnalysisMuMuCutElement* ce4, AliAnalysisMuMuCutElement* ce5);
Int_t AddCutCombination(AliAnalysisMuMuCutElement* ce1, AliAnalysisMuMuCutElement* ce2, AliAnalysisMuMuCutElement* ce3,
AliAnalysisMuMuCutElement* ce4, AliAnalysisMuMuCutElement* ce5, AliAnalysisMuMuCutElement* ce6);
const TObjArray* GetCutCombinations(AliAnalysisMuMuCutElement::ECutType type) const;
TObjArray* GetCutCombinations(AliAnalysisMuMuCutElement::ECutType type);
const TObjArray* GetCutElements(AliAnalysisMuMuCutElement::ECutType type) const;
TObjArray* GetCutElements(AliAnalysisMuMuCutElement::ECutType type);
virtual void Print(Option_t* opt="") const;
Bool_t AlwaysTrue(const AliVEvent& ) const { return kTRUE; }
void NameOfAlwaysTrue(TString& name) const { name="ALL"; }
Bool_t AlwaysTrue(const AliVEventHandler& ) const { return kTRUE; }
Bool_t AlwaysTrue(const AliVParticle& ) const { return kTRUE; }
Bool_t AlwaysTrue(const AliVParticle& , const AliVParticle& ) const { return kTRUE; }
private:
AliAnalysisMuMuCutRegistry(const AliAnalysisMuMuCutRegistry& rhs);
AliAnalysisMuMuCutRegistry& operator=(const AliAnalysisMuMuCutRegistry& rhs);
AliAnalysisMuMuCutElement* CreateCutElement(AliAnalysisMuMuCutElement::ECutType expectedType,
TObject& cutClass,
const char* cutMethodName,
const char* cutMethodPrototype,
const char* defaultParameters);
private:
mutable TObjArray* fCutElements;
mutable TObjArray* fCutCombinations;
ClassDef(AliAnalysisMuMuCutRegistry,1)
};
#endif
AliAnalysisMuMuCutRegistry.h:1 AliAnalysisMuMuCutRegistry.h:2 AliAnalysisMuMuCutRegistry.h:3 AliAnalysisMuMuCutRegistry.h:4 AliAnalysisMuMuCutRegistry.h:5 AliAnalysisMuMuCutRegistry.h:6 AliAnalysisMuMuCutRegistry.h:7 AliAnalysisMuMuCutRegistry.h:8 AliAnalysisMuMuCutRegistry.h:9 AliAnalysisMuMuCutRegistry.h:10 AliAnalysisMuMuCutRegistry.h:11 AliAnalysisMuMuCutRegistry.h:12 AliAnalysisMuMuCutRegistry.h:13 AliAnalysisMuMuCutRegistry.h:14 AliAnalysisMuMuCutRegistry.h:15 AliAnalysisMuMuCutRegistry.h:16 AliAnalysisMuMuCutRegistry.h:17 AliAnalysisMuMuCutRegistry.h:18 AliAnalysisMuMuCutRegistry.h:19 AliAnalysisMuMuCutRegistry.h:20 AliAnalysisMuMuCutRegistry.h:21 AliAnalysisMuMuCutRegistry.h:22 AliAnalysisMuMuCutRegistry.h:23 AliAnalysisMuMuCutRegistry.h:24 AliAnalysisMuMuCutRegistry.h:25 AliAnalysisMuMuCutRegistry.h:26 AliAnalysisMuMuCutRegistry.h:27 AliAnalysisMuMuCutRegistry.h:28 AliAnalysisMuMuCutRegistry.h:29 AliAnalysisMuMuCutRegistry.h:30 AliAnalysisMuMuCutRegistry.h:31 AliAnalysisMuMuCutRegistry.h:32 AliAnalysisMuMuCutRegistry.h:33 AliAnalysisMuMuCutRegistry.h:34 AliAnalysisMuMuCutRegistry.h:35 AliAnalysisMuMuCutRegistry.h:36 AliAnalysisMuMuCutRegistry.h:37 AliAnalysisMuMuCutRegistry.h:38 AliAnalysisMuMuCutRegistry.h:39 AliAnalysisMuMuCutRegistry.h:40 AliAnalysisMuMuCutRegistry.h:41 AliAnalysisMuMuCutRegistry.h:42 AliAnalysisMuMuCutRegistry.h:43 AliAnalysisMuMuCutRegistry.h:44 AliAnalysisMuMuCutRegistry.h:45 AliAnalysisMuMuCutRegistry.h:46 AliAnalysisMuMuCutRegistry.h:47 AliAnalysisMuMuCutRegistry.h:48 AliAnalysisMuMuCutRegistry.h:49 AliAnalysisMuMuCutRegistry.h:50 AliAnalysisMuMuCutRegistry.h:51 AliAnalysisMuMuCutRegistry.h:52 AliAnalysisMuMuCutRegistry.h:53 AliAnalysisMuMuCutRegistry.h:54 AliAnalysisMuMuCutRegistry.h:55 AliAnalysisMuMuCutRegistry.h:56 AliAnalysisMuMuCutRegistry.h:57 AliAnalysisMuMuCutRegistry.h:58 AliAnalysisMuMuCutRegistry.h:59 AliAnalysisMuMuCutRegistry.h:60 AliAnalysisMuMuCutRegistry.h:61 AliAnalysisMuMuCutRegistry.h:62 AliAnalysisMuMuCutRegistry.h:63 AliAnalysisMuMuCutRegistry.h:64 AliAnalysisMuMuCutRegistry.h:65 AliAnalysisMuMuCutRegistry.h:66 AliAnalysisMuMuCutRegistry.h:67 AliAnalysisMuMuCutRegistry.h:68 AliAnalysisMuMuCutRegistry.h:69 AliAnalysisMuMuCutRegistry.h:70 AliAnalysisMuMuCutRegistry.h:71 AliAnalysisMuMuCutRegistry.h:72 AliAnalysisMuMuCutRegistry.h:73 AliAnalysisMuMuCutRegistry.h:74 AliAnalysisMuMuCutRegistry.h:75 AliAnalysisMuMuCutRegistry.h:76 AliAnalysisMuMuCutRegistry.h:77 AliAnalysisMuMuCutRegistry.h:78 AliAnalysisMuMuCutRegistry.h:79 AliAnalysisMuMuCutRegistry.h:80 AliAnalysisMuMuCutRegistry.h:81 AliAnalysisMuMuCutRegistry.h:82 AliAnalysisMuMuCutRegistry.h:83 AliAnalysisMuMuCutRegistry.h:84 AliAnalysisMuMuCutRegistry.h:85 AliAnalysisMuMuCutRegistry.h:86 AliAnalysisMuMuCutRegistry.h:87 AliAnalysisMuMuCutRegistry.h:88 AliAnalysisMuMuCutRegistry.h:89 AliAnalysisMuMuCutRegistry.h:90 AliAnalysisMuMuCutRegistry.h:91 AliAnalysisMuMuCutRegistry.h:92 AliAnalysisMuMuCutRegistry.h:93 AliAnalysisMuMuCutRegistry.h:94 AliAnalysisMuMuCutRegistry.h:95 AliAnalysisMuMuCutRegistry.h:96 AliAnalysisMuMuCutRegistry.h:97 AliAnalysisMuMuCutRegistry.h:98 AliAnalysisMuMuCutRegistry.h:99 AliAnalysisMuMuCutRegistry.h:100 AliAnalysisMuMuCutRegistry.h:101 AliAnalysisMuMuCutRegistry.h:102 AliAnalysisMuMuCutRegistry.h:103 AliAnalysisMuMuCutRegistry.h:104