|
FEDRA emulsion software from the OPERA Collaboration
|
#include "ShowRecInclude.h"#include "ShowRec.h"#include "ShowRec_Alg_NN.h"#include "ShowRec_Alg_N3.h"#include "ShowRecHelper.cpp"#include "ShowRecCalculatingFunctions.cpp"#include "ShowRec_InBTFilling.cpp"#include "ShowRec_Alg_SA.cpp"#include "ShowRec_Alg_TC.cpp"#include "ShowRec_Alg_RC.cpp"#include "ShowRec_Alg_BW.cpp"#include "ShowRec_Alg_GS.cpp"#include "ShowRec_Alg_AG.cpp"#include "ShowRec_Alg_CA.cpp"#include "ShowRec_Alg_CL.cpp"#include "ShowRec_Alg_CT.cpp"#include "ShowRec_Alg_OI.cpp"#include "ShowRec_Alg_NN.cpp"#include "ShowRec_Alg_N3.cpp"
Functions | |
| Bool_t | AddBTToArrayWithCeck (EdbSegP *tryAttachedSegment, TObjArray *GLOBAL_ShowerSegArray) |
| void | BuildParametrizationsMCInfo_PGun (TString MCInfoFilename) |
| EdbSegP * | BuildShowerAxis (TObjArray *ShowerSegArray) |
| Bool_t | CalcConeOrTubeDistanceToInBT (EdbSegP *sa, EdbSegP *InBT, Double_t CylinderRadius, Double_t ConeAngle) |
| void | CalcEfficencyNumbers (EdbPattern *pat_interim, Int_t MCCheck, Int_t &NBT_Neff, Int_t &NBTMC_Neff, Int_t &NBTMCe_Neff) |
| void | CalcEffPurOfShower (TObjArray *arr, Int_t &NBT, Int_t &NBTMC, Int_t &NBTallMC, Int_t &NBTeMC, Double_t &purall, Double_t &pure) |
| void | CalcEffPurOfShower2 (TObjArray *arr, Int_t &NBT, Int_t &NBTMC, Int_t &NBTallMC, Int_t &NBTeMC, Double_t &purall, Double_t &pure, Int_t NBT_Neff, Int_t NBTMC_Neff, Int_t NBTMCe_Neff) |
| void | CalcTrackDensity (EdbPattern *pat_interim, Float_t pat_interim_halfsize, Int_t &npat_int, Int_t &npat_total, Int_t &npatN) |
| void | CreateOutPutStructures () |
| TTree * | CreateTreeBranchShowerTree (Int_t ParaSetNr) |
| void | DoBGTargetCleaning () |
| void | Fill2GlobalInBTArray () |
| void | FillOutPutStructures () |
| void | Finalize () |
| Bool_t | FindFollowingBTs (EdbSegP *s, EdbSegP *InBT, EdbPVRec *local_gAli, TObjArray *showersegarray) |
| Bool_t | FindPrecedingBTs (EdbSegP *s, EdbSegP *InBT, EdbPVRec *gAli, TObjArray *showersegarray) |
| Bool_t | FindPrecedingBTs_local_gAli (EdbSegP *s, EdbSegP *InBT, EdbPVRec *local_gAli, TObjArray *showersegarray) |
| Bool_t | FindPrecedingBTsSingleThetaAngle (EdbSegP *s, EdbSegP *InBT, EdbPVRec *gAli, TObjArray *showersegarray) |
| Bool_t | FindPrecedingBTsSingleThetaAngleTCDEBUG (EdbSegP *s, EdbSegP *InBT, EdbPVRec *gAli, TObjArray *showersegarray) |
| Bool_t | GetConeOrTubeDistanceToBTOfShowerArray (EdbSegP *sa, EdbSegP *InBT, TObjArray *showersegarray, Double_t CylinderRadius, Double_t ConeAngle) |
| Bool_t | GetConeOrTubeDistanceToInBT (EdbSegP *sa, EdbSegP *InBT, Double_t CylinderRadius, Double_t ConeAngle) |
| Double_t | GetdeltaRNoPropagation (EdbSegP *s, EdbSegP *stest) |
| Double_t | GetdeltaRWithPropagation (EdbSegP *s, EdbSegP *stest) |
| Double_t | GetdeltaTheta (EdbSegP *s1, EdbSegP *s2) |
| Double_t | GetdeltaThetaSingleAngles (EdbSegP *s1, EdbSegP *s2) |
| void | GetEvent_ParasetDefinitionTree (Int_t nr) |
| Int_t | GetMeansBeforeAndAfter (Float_t &mean_dT, Float_t &mean_dR, EdbPVRec *local_gAli, Int_t patterloop_cnt, EdbSegP *seg, Int_t n_patterns, Int_t BeforeOrAfter) |
| Int_t | GetMinsBeforeAndAfter (Float_t &min_dT, Float_t &min_dR, EdbPVRec *local_gAli, Int_t patterloop_cnt, EdbSegP *seg, Int_t n_patterns, Int_t BeforeOrAfter) |
| Int_t | GetNSegBeforeAndAfter (EdbPVRec *local_gAli, Int_t patterloop_cnt, EdbSegP *seg, Int_t n_patterns, Int_t BeforeOrAfter) |
| Double_t | GetSpatialDist (EdbSegP *s1, EdbSegP *s2) |
| Bool_t | IsShowerSortedZ (TObjArray *showerarray) |
| int | main (int argc, char *argv[]) |
| void | MakeTracksTree (TTree *treebranch) |
| Int_t | Open_ParasetDefinitionFile () |
| void | Read_ParasetDefinitionTree () |
| EdbPVRec * | ReadEdbPVRecObjectFromCurrentDirectory () |
| void | ReconstructShowers (Int_t nr) |
| void | SetDefaultValues_CommandLine () |
| void | SetPresetParameters (Int_t cmd_PRESET) |
| void | SortShowerZ (TObjArray *showerarray) |
| void | TransferShowerObjectArrayIntoEntryOfTreebranchShowerTree (TTree *treebranchtree, TObjArray *segarray) |
| EdbPVRec * | TransformEdbPVRec (EdbPVRec *gAli, EdbSegP *InitiatorBT) |
| DEBUG OPENMP TEST!!!!!!! More... | |
| EdbPVRec * | TransformEdbPVRec_BackWard (EdbPVRec *gAli, EdbSegP *InitiatorBT) |
| EdbPVRec * | TransformEdbPVRec_SA (EdbPVRec *gAli, EdbSegP *InitiatorBT) |
| void | Write_Alg_GS_Histograms () |
| Bool_t AddBTToArrayWithCeck | ( | EdbSegP * | tryAttachedSegment, |
| TObjArray * | GLOBAL_ShowerSegArray | ||
| ) |
void ReconstructShowers_CL() /// Still Missing in the Implementation !!! BUT it is there now in ReconstructShowers_CL() function. TO CHECK IF THE ALGORITHM IS WORKING (NO MATTER THE BAD EFFICIENCY)
| void BuildParametrizationsMCInfo_PGun | ( | TString | MCInfoFilename | ) |
| EdbSegP* BuildShowerAxis | ( | TObjArray * | ShowerSegArray | ) |
MNORMINERUNG !!!! STILL NOT AN IMPROVEMENT FOR GAMMAS.....
Differene NOW FOR DEBUG TESTS !!!!
| Bool_t CalcConeOrTubeDistanceToInBT | ( | EdbSegP * | sa, |
| EdbSegP * | InBT, | ||
| Double_t | CylinderRadius, | ||
| Double_t | ConeAngle | ||
| ) |
| void CalcEfficencyNumbers | ( | EdbPattern * | pat_interim, |
| Int_t | MCCheck, | ||
| Int_t & | NBT_Neff, | ||
| Int_t & | NBTMC_Neff, | ||
| Int_t & | NBTMCe_Neff | ||
| ) |
| void CalcEffPurOfShower | ( | TObjArray * | arr, |
| Int_t & | NBT, | ||
| Int_t & | NBTMC, | ||
| Int_t & | NBTallMC, | ||
| Int_t & | NBTeMC, | ||
| Double_t & | purall, | ||
| Double_t & | pure | ||
| ) |
| void CalcEffPurOfShower2 | ( | TObjArray * | arr, |
| Int_t & | NBT, | ||
| Int_t & | NBTMC, | ||
| Int_t & | NBTallMC, | ||
| Int_t & | NBTeMC, | ||
| Double_t & | purall, | ||
| Double_t & | pure, | ||
| Int_t | NBT_Neff, | ||
| Int_t | NBTMC_Neff, | ||
| Int_t | NBTMCe_Neff | ||
| ) |
| void CalcTrackDensity | ( | EdbPattern * | pat_interim, |
| Float_t | pat_interim_halfsize, | ||
| Int_t & | npat_int, | ||
| Int_t & | npat_total, | ||
| Int_t & | npatN | ||
| ) |
| void CreateOutPutStructures | ( | ) |
| TTree* CreateTreeBranchShowerTree | ( | Int_t | ParaSetNr | ) |
| void DoBGTargetCleaning | ( | ) |
| void Fill2GlobalInBTArray | ( | ) |
| void FillOutPutStructures | ( | ) |
| void Finalize | ( | ) |
| Bool_t FindFollowingBTs | ( | EdbSegP * | s, |
| EdbSegP * | InBT, | ||
| EdbPVRec * | local_gAli, | ||
| TObjArray * | showersegarray | ||
| ) |
if (dZ<30) continue; // Exclude the case of same Zpositions...
| Bool_t FindPrecedingBTs | ( | EdbSegP * | s, |
| EdbSegP * | InBT, | ||
| EdbPVRec * | gAli, | ||
| TObjArray * | showersegarray | ||
| ) |
| Bool_t FindPrecedingBTs_local_gAli | ( | EdbSegP * | s, |
| EdbSegP * | InBT, | ||
| EdbPVRec * | local_gAli, | ||
| TObjArray * | showersegarray | ||
| ) |
| Bool_t FindPrecedingBTsSingleThetaAngle | ( | EdbSegP * | s, |
| EdbSegP * | InBT, | ||
| EdbPVRec * | gAli, | ||
| TObjArray * | showersegarray | ||
| ) |
11.06.2010: New including case:
| Bool_t FindPrecedingBTsSingleThetaAngleTCDEBUG | ( | EdbSegP * | s, |
| EdbSegP * | InBT, | ||
| EdbPVRec * | gAli, | ||
| TObjArray * | showersegarray | ||
| ) |
| Bool_t GetConeOrTubeDistanceToBTOfShowerArray | ( | EdbSegP * | sa, |
| EdbSegP * | InBT, | ||
| TObjArray * | showersegarray, | ||
| Double_t | CylinderRadius, | ||
| Double_t | ConeAngle | ||
| ) |
| Bool_t GetConeOrTubeDistanceToInBT | ( | EdbSegP * | sa, |
| EdbSegP * | InBT, | ||
| Double_t | CylinderRadius, | ||
| Double_t | ConeAngle | ||
| ) |
Outside if angle greater than ConeAngle (to be fulfilled for Cone and Tube in both cases)
if angle smaller than ConeAngle, then you can differ between Tuberadius and CylinderRadius
| void GetEvent_ParasetDefinitionTree | ( | Int_t | nr | ) |
| Int_t GetMeansBeforeAndAfter | ( | Float_t & | mean_dT, |
| Float_t & | mean_dR, | ||
| EdbPVRec * | local_gAli, | ||
| Int_t | patterloop_cnt, | ||
| EdbSegP * | seg, | ||
| Int_t | n_patterns, | ||
| Int_t | BeforeOrAfter | ||
| ) |
| Int_t GetMinsBeforeAndAfter | ( | Float_t & | min_dT, |
| Float_t & | min_dR, | ||
| EdbPVRec * | local_gAli, | ||
| Int_t | patterloop_cnt, | ||
| EdbSegP * | seg, | ||
| Int_t | n_patterns, | ||
| Int_t | BeforeOrAfter | ||
| ) |
| Int_t GetNSegBeforeAndAfter | ( | EdbPVRec * | local_gAli, |
| Int_t | patterloop_cnt, | ||
| EdbSegP * | seg, | ||
| Int_t | n_patterns, | ||
| Int_t | BeforeOrAfter | ||
| ) |
| Bool_t IsShowerSortedZ | ( | TObjArray * | showerarray | ) |
| int main | ( | int | argc, |
| char * | argv[] | ||
| ) |
| void MakeTracksTree | ( | TTree * | treebranch | ) |
| Int_t Open_ParasetDefinitionFile | ( | ) |
| void Read_ParasetDefinitionTree | ( | ) |
| EdbPVRec* ReadEdbPVRecObjectFromCurrentDirectory | ( | ) |
| void ReconstructShowers | ( | Int_t | nr | ) |
MakeTracksTree(TREE_ShowShower);
| void SetDefaultValues_CommandLine | ( | ) |
| void SetPresetParameters | ( | Int_t | cmd_PRESET | ) |
| void SortShowerZ | ( | TObjArray * | showerarray | ) |
| void TransferShowerObjectArrayIntoEntryOfTreebranchShowerTree | ( | TTree * | treebranchtree, |
| TObjArray * | segarray | ||
| ) |
--— IMPORTANT:: these areopen cut values for best combifinding of pair BT deltaR/Theta values --— IMPORTANT:: then you do NOT necessarily get back your values which you put in durign --— IMPORTANT:: your shower reconstruction cone ( deltaR/Theta cutvalues could be NO cutvalues --— IMPORTANT:: for some reconstruction algorithms for example, but we wanna have these values anyway. In Any Case: Frederics Cut looks only for best min_shower_deltar so we do also.
DEBUG OPENMP TEST!!!!!!!
THIS IS VERY IMPORTANT, because gAliSub has to be ordered in a way that 2nd plate follows after first, since we loop in the Reconstruct_??() Alogrithms over the Basetracks already added in the shower!
DEBUG TEST !!! MAYBE IT GOES FASTER LIKE THIS; AND ALSO THE BG CALCULATION IS BETTER PERFORMED .....
THIS IS VERY IMPORTANT, because gAliSub has to be ordered in a way that 2nd plate follows after first, since we loop in the Reconstruct_??() Alogrithms over the Basetracks already added in the shower!
THIS IS VERY IMPORTANT, because gAliSub has to be ordered in a way that 2nd plate follows after first, since we loop in the Reconstruct_??() Alogrithms over the Basetracks already added in the shower!
| void Write_Alg_GS_Histograms | ( | ) |