# Custom Parameters

Custom parameters are parameters that you create using defined parameters contained in an FCS File. The most common use case is to create a new parameter from the ratio of two other parameters.

## Create Custom Parameters

To create a new custom parameter, select the file which you would like the parameter on and in the left hand panel, select "Custom Parameter."

In the Custom Parameter popup window, first assign a name to your custom parameter (or use the default name). Note that you can not have two parameters in the same file with the same parameter name. Next, you must input the formula for the custom parameter.

If you create a custom parameter and want to apply it to other FCS files, you can drag and drop the associated custom parameter icon in the file tree to the file you want to apply it to.

The operations available for use in formulas are:

Usage | Description |

x + y | Adds x to y |

x - y | Subtracts y from x |

x * y | Multiplies x by y |

x / y | Divides x by y |

x ^ y | Computes x to the yth power |

-x | Negates x |

min(x, y) | Computes the minimum of x and y |

max(x, y) | Computes the maximum of x and y |

abs(x) | Computes the absolute value of x |

sin(x) | Computes the sine of x |

cos(x) | Computes the cosine of x |

tan(x) | Computes the tangent of x |

log10(x) | Computes the base 10 log of x |

ln(x) | Computes the natural log of x |

sqrt(x) | Computes the square root of x |

The order of operations is respected for these operations but you may use parentheses to group them as you see fit. The operands for these operations can be either a scalar numerical value or a parameter from the fcs file. If both operands are scalars, the result is another scalar. If either operand is a parameter, the result is a new list of events. A custom parameter formula must reference at least one parameter to be considered a valid formula.

Note that parameters are referenced in formulas by enclosing their short names in curly braces: **{}**. If a parameter is displayed as "GLP::FL3-A", the short name is the part after the "::", i.e. FL3-A. So to reference that parameter in a formula you would type **{FL3-A}**. Case is not sensitive in formulas so you could also write **{fl3-a}** for the parameter. If the displayed name of the parameter does not contain "::", use the entire name.

### Example 1

Let's say we have a parameter called "SSC-A" and we want to multiply each event of that parameter by 10. (Note: You might do this if you wanted to add gain to your parameter.)

The formula to do this is:

**10 * {SSC-A}**

This would create a new custom parameter where event 1 is SSC-A event 1 multiplied by 10, event 2 is SSC-A event 2 multiplied by 10, and so on for all the events of SSC-A.

### Example 2

You want to create a new custom parameter that is the sum of two parameters named "VioGreen-A::FL2-A" and "FITC-A::FL3-A".

The formula to do this is:

**{FL2-A} + {FL3-A}**

This would create a new custom parameter where event 1 is FL2-A event 1 plus FL3-A event 1, event 2 is FL2-A event 2 plus FL3-A event 2, and so on for all the events.

### Example 3

You can use the special functions min and max to create new custom parameters bounded between chosen values. Here are some examples:

**min(100, {SSC-A})**

The above formula would create a new parameter where any event in SSC-A with a value above 100 would be replaced with 100.

**max(50, {SSC-A})**

The above formula would create a new parameter where any event in SSC-A with a value below 50 would be replaced with 50.

**max(50, min(100, {SSC-A}))**

The above formula would create a new parameter where any event in SSC-A with a value below 50 would be replaced with 50 and any event above 100 would be replaced with 100.

### Example 4

Formulas can be arbitrarily complex. For example, if you wanted to create a ratio between two parameters "CD 8 B PE::FL2-H" and "FL2-A" while simultaneously scaling them, you could use a formula like this:

**(2.7) * (({FL2-H} - (-100)) / ({FL2-A} - (-300)))**